BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
TofDataSet.h
Go to the documentation of this file.
1#ifndef TOFDATASET_H
2#define TOFDATASET_H
3
4#include "TChain.h"
5#include "TTree.h"
6#include "TofRecEvent/RecBTofCalHit.h"
7#include "TofRecEvent/RecETofCalHit.h"
8#include <string>
9
10using namespace std;
11
12const unsigned int NBarrel = 176;
13const unsigned int NEndcap = 96;
14const unsigned int NEtf = 72;
15const unsigned int NStrip = 12;
16
17typedef struct tagItem {
18 Int_t run;
19 Int_t event;
20 Int_t tofid;
21 Int_t strip;
22 Double_t qleft;
23 Double_t qright;
24 Double_t tleft;
25 Double_t tright;
26 Double_t zrhit;
27 Double_t dt;
28 Double_t texp;
29 Double_t path;
30 Double_t phi;
31 Double_t theta;
32 Double_t p;
33 Double_t t0;
34 Double_t q0;
35 Int_t hitcase;
37
38class Record {
39public:
40 Record();
41 ~Record();
42
43public:
44 Record( RecBTofCalHit* hit );
45 Record( RecETofCalHit* hit );
46 Record( const rootRecord& one );
47
48 void initial();
49 bool cutBarrel();
50 bool cutEndcap();
51 bool cutEtf();
52
53 int run() const { return m_run; }
54 int event() const { return m_event; }
55 int tofid() const { return m_tofid; }
56 int strip() const { return m_strip; }
57 double qleft() const { return m_qleft; }
58 double qright() const { return m_qright; }
59 double tleft() const { return m_tleft; }
60 double tright() const { return m_tright; }
61 double zrhit() const { return m_zrhit; }
62 double dt() const { return m_dt; }
63 double texp() const { return m_texp; }
64 double path() const { return m_path; }
65 double phi() const { return m_phi; }
66 double theta() const { return m_theta; }
67 double p() const { return m_p; }
68 double t0() const { return m_t0; }
69 double q0() const { return m_q0; }
70 int hitcase() const { return m_hitcase; }
71
72 void settleft( double tleft ) { m_tleft = tleft; }
73 void settright( double tright ) { m_tright = tright; }
74 void setT0( double t0 ) { m_t0 = t0; }
75 void setQ0( double q0 ) { m_q0 = q0; }
76
77private:
78 int m_run;
79 int m_event;
80 int m_tofid;
81 int m_strip;
82 double m_qleft;
83 double m_qright;
84 double m_tleft;
85 double m_tright;
86 double m_zrhit;
87 double m_dt;
88 double m_texp;
89 double m_path;
90 double m_phi;
91 double m_theta;
92 double m_p;
93 double m_t0;
94 double m_q0;
95 int m_hitcase;
96};
97typedef std::vector<Record*> RecordSet;
98
100public:
101 TofDataSet();
102 ~TofDataSet();
103
104public:
105 RecordSet* getBarrelData( unsigned int i ) const { return barrelData[i]; }
106 RecordSet* getEndcapData( unsigned int i ) const { return endcapData[i]; }
107 RecordSet* getEtfData( unsigned int i ) const { return etfData[i]; }
108
109public:
110 void setData( TTree*, unsigned int );
111 void setBarrelDataFiles( std::vector<std::string>& );
112 void setEndcapDataFiles( std::vector<std::string>& );
113 void setEtfDataFiles( std::vector<std::string>& );
114
118
119private:
120 RecordSet* barrelData[NBarrel];
121 RecordSet* endcapData[NEndcap];
122 RecordSet* etfData[NEtf * NStrip];
123};
124
125#endif
const DifNumber one
NTuple::Item< double > m_p
NTuple::Item< double > m_t0
struct tagItem rootRecord
std::vector< Record * > RecordSet
Definition TofDataSet.h:97
const unsigned int NStrip
Definition TofDataSet.h:15
const unsigned int NEtf
Definition TofDataSet.h:14
const unsigned int NBarrel
Definition TofDataSet.h:12
const unsigned int NEndcap
Definition TofDataSet.h:13
double texp() const
Definition TofDataSet.h:63
double qleft() const
Definition TofDataSet.h:57
double tleft() const
Definition TofDataSet.h:59
int strip() const
Definition TofDataSet.h:56
double p() const
Definition TofDataSet.h:67
bool cutEtf()
Definition cut.cxx:355
double tright() const
Definition TofDataSet.h:60
void settright(double tright)
Definition TofDataSet.h:73
int hitcase() const
Definition TofDataSet.h:70
void initial()
void setT0(double t0)
Definition TofDataSet.h:74
double t0() const
Definition TofDataSet.h:68
double dt() const
Definition TofDataSet.h:62
double phi() const
Definition TofDataSet.h:65
int run() const
Definition TofDataSet.h:53
int event() const
Definition TofDataSet.h:54
void settleft(double tleft)
Definition TofDataSet.h:72
double q0() const
Definition TofDataSet.h:69
double path() const
Definition TofDataSet.h:64
int tofid() const
Definition TofDataSet.h:55
void setQ0(double q0)
Definition TofDataSet.h:75
bool cutBarrel()
Definition cut.cxx:3
bool cutEndcap()
Definition cut.cxx:259
double theta() const
Definition TofDataSet.h:66
double zrhit() const
Definition TofDataSet.h:61
double qright() const
Definition TofDataSet.h:58
RecordSet * getEtfData(unsigned int i) const
Definition TofDataSet.h:107
void setData(TTree *, unsigned int)
void setEtfDataFiles(std::vector< std::string > &)
void setEtfData(RecBTofCalHitCol &)
void setEndcapDataFiles(std::vector< std::string > &)
void setBarrelData(RecBTofCalHitCol &)
RecordSet * getEndcapData(unsigned int i) const
Definition TofDataSet.h:106
RecordSet * getBarrelData(unsigned int i) const
Definition TofDataSet.h:105
void setBarrelDataFiles(std::vector< std::string > &)
void setEndcapData(RecETofCalHitCol &)
Int_t run
Definition TofDataSet.h:18
Double_t tright
Definition TofDataSet.h:25
Int_t tofid
Definition TofDataSet.h:20
Double_t qright
Definition TofDataSet.h:23
Double_t path
Definition TofDataSet.h:29
Double_t t0
Definition TofDataSet.h:33
Double_t texp
Definition TofDataSet.h:28
Double_t phi
Definition TofDataSet.h:30
Int_t event
Definition TofDataSet.h:19
Double_t dt
Definition TofDataSet.h:27
Int_t hitcase
Definition TofDataSet.h:35
Int_t strip
Definition TofDataSet.h:21
Double_t zrhit
Definition TofDataSet.h:26
Double_t q0
Definition TofDataSet.h:34
Double_t tleft
Definition TofDataSet.h:24
Double_t theta
Definition TofDataSet.h:31
Double_t p
Definition TofDataSet.h:32
Double_t qleft
Definition TofDataSet.h:22