CGEM BOSS 6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
TofShower.h
Go to the documentation of this file.
1#ifndef TOFSHOWER_H
2#define TOFSHOWER_H
3
5#include "GaudiKernel/NTuple.h"
6#include "GaudiKernel/PropertyMgr.h"
7#include <vector>
8
9#include <string>
10
12
13
14
15
16
17using namespace std;
18class Identifier;
19class TofData;
20
21
22
23
24
25class TofShower {
26 public:
27 TofShower();
29 public:
30 // Get Neighbors of a scintillator
31 vector<Identifier> getNeighbors(const Identifier& id);
32 vector<Identifier> getNextNeighbors(const Identifier& id);
33 vector<Identifier> getMRPC_neighbours(const Identifier& id);
34 int get_mrpc_partid_neighbour(string which,int stripid,int layer);
35 int get_mrpc_stripid_neighbour(string which,int stripid,int layer);
36
37
38
39 void energyCalib(vector<TofData*>& tofDataVec, RecTofTrackCol* recTofTrackCol);
40 void findSeed(vector<TofData*>& tofDataVec);
41 void findShower(vector<TofData*>& tofDataVec, RecTofTrackCol* recTofTrackCol,double);
42 void BookNtuple(NTuple::Tuple*& tuple, NTuple::Tuple*& tuple1, NTuple::Tuple*& tuple2);
43
44
45
46
47 public:
48 void readCalibPar();
49 double ecalib(const int nsci) const;
50 void setEcalib(const int nsci, const double ecalib);
51
52 double calib(const int n, const int m) const;
53 void setCalib(const int n, const int m, const double ecalib);
54
55 inline double calibConst() const { return m_calibConst; }
56 inline void setCalibConst(const double cal) { m_calibConst = cal; }
57
58 inline bool isData() const { return m_isData; }
59 inline void setIsData(const bool isData) { m_isData = isData; }
60
61 private:
62 vector<Identifier> m_seedVec;
63 double m_ecalib[176];
64 double m_calib[176][4];
65 double m_calibConst;
66 bool m_isData;
67
68
69 MrpcCalibSvc* mrpcCaliSvc;
70
71
72 private:
73 PropertyMgr m_propMgr;
74 bool m_output;
75 NTuple::Tuple* m_tuple;
76 NTuple::Item<long> m_part;
77 NTuple::Item<long> m_layer;
78 NTuple::Item<long> m_im;
79 NTuple::Item<long> m_end;
80 NTuple::Item<double> m_zpos;
81 NTuple::Item<double> m_adc1;
82 NTuple::Item<double> m_adc2;
83 NTuple::Item<double> m_tdc1;
84 NTuple::Item<double> m_tdc2;
85 NTuple::Item<double> m_energy;
86
87 NTuple::Tuple* m_tuple1;
88 NTuple::Item<long> m_shower_part;
89 NTuple::Item<long> m_shower_layer;
90 NTuple::Item<long> m_shower_im;
91 NTuple::Item<double> m_shower_zpos;
92 NTuple::Item<double> m_shower_energy;
93
94 NTuple::Tuple* m_tuple2;
95 NTuple::Item<double> m_seed_dist;
96};
97#endif
std::string cal
const Int_t n
ObjectVector< RecTofTrack > RecTofTrackCol
Definition RecTofTrack.h:33
void setCalibConst(const double cal)
Definition TofShower.h:56
double calib(const int n, const int m) const
double ecalib(const int nsci) const
void readCalibPar()
void findSeed(vector< TofData * > &tofDataVec)
void BookNtuple(NTuple::Tuple *&tuple, NTuple::Tuple *&tuple1, NTuple::Tuple *&tuple2)
Definition TofShower.cxx:36
void setEcalib(const int nsci, const double ecalib)
int get_mrpc_stripid_neighbour(string which, int stripid, int layer)
vector< Identifier > getMRPC_neighbours(const Identifier &id)
void setIsData(const bool isData)
Definition TofShower.h:59
void energyCalib(vector< TofData * > &tofDataVec, RecTofTrackCol *recTofTrackCol)
Definition TofShower.cxx:74
double calibConst() const
Definition TofShower.h:55
vector< Identifier > getNextNeighbors(const Identifier &id)
bool isData() const
Definition TofShower.h:58
void setCalib(const int n, const int m, const double ecalib)
vector< Identifier > getNeighbors(const Identifier &id)
void findShower(vector< TofData * > &tofDataVec, RecTofTrackCol *recTofTrackCol, double)
int get_mrpc_partid_neighbour(string which, int stripid, int layer)