38 m_event = hit->
event();
41 m_qleft = hit->
adc1();
42 m_qright = hit->
adc2();
43 m_tleft = hit->
tdc1();
44 m_tright = hit->
tdc2();
45 m_zrhit = hit->
zHit();
46 m_dt = ( hit->
tdc2() - hit->
tdc1() ) / 2.0;
47 m_texp = hit->
tpred();
52 m_hitcase = hit->
qual();
62 m_event = hit->
event();
66 m_zrhit = hit->
rHit();
67 m_texp = hit->
tpred();
72 m_hitcase = hit->
qual();
87 if ( (
one.hitcase >= 0 &&
one.hitcase <= 2 ) || (
one.hitcase == 5 ||
one.hitcase == 6 ) )
89 m_qright =
one.qright;
90 m_tright =
one.tright;
99 m_hitcase =
one.hitcase;
105 if (
t &&
t->GetEntries() > 0 )
108 t->SetBranchAddress(
"run", &item.
run );
109 t->SetBranchAddress(
"event", &item.
event );
110 t->SetBranchAddress(
"tofid", &item.
tofid );
111 if ( NULL !=
t->FindBranch(
"strip" ) ) {
t->SetBranchAddress(
"strip", &item.
strip ); }
112 t->SetBranchAddress(
"qleft", &item.
qleft );
113 t->SetBranchAddress(
"qright", &item.
qright );
114 t->SetBranchAddress(
"tleft", &item.
tleft );
115 t->SetBranchAddress(
"tright", &item.
tright );
116 t->SetBranchAddress(
"zrhit", &item.
zrhit );
117 if ( NULL !=
t->FindBranch(
"dt" ) ) {
t->SetBranchAddress(
"dt", &item.
dt ); }
118 t->SetBranchAddress(
"texp", &item.
texp );
119 t->SetBranchAddress(
"path", &item.
path );
120 t->SetBranchAddress(
"phi", &item.
phi );
121 t->SetBranchAddress(
"theta", &item.
theta );
122 t->SetBranchAddress(
"p", &item.
p );
123 t->SetBranchAddress(
"hitcase", &item.
hitcase );
125 for (
unsigned int i = 0; i <
t->GetEntries(); i++ )
133 unsigned int tofID = item.
tofid;
134 barrelData[tofID]->push_back( r );
138 else if ( isBarrel == 0 && ( item.
hitcase == 3 || item.
hitcase == 4 ) )
143 unsigned int tofID = item.
tofid;
144 endcapData[tofID]->push_back( r );
148 else if ( isBarrel == 2 && item.
hitcase >= 5 && item.
hitcase <= 6 )
153 unsigned int tofID = item.
tofid;
154 unsigned int strip = item.
strip;
155 unsigned int id = tofID * 12 + strip;
156 etfData[id]->push_back( r );
165 <<
"Error: a invalid tree or a blank tree, When converting a tree to TofDataSet,exit"
173 for (
unsigned int i = 0; i <
NBarrel; i++ ) { barrelData[i] =
new RecordSet; }
174 for (
unsigned int i = 0; i <
NEndcap; i++ ) { endcapData[i] =
new RecordSet; }
180 for (
unsigned int i = 0; i <
NBarrel; i++ )
182 barrelData[i]->clear();
183 delete barrelData[i];
185 for (
unsigned int i = 0; i <
NEndcap; i++ )
187 endcapData[i]->clear();
188 delete endcapData[i];
190 for (
unsigned int i = 0; i <
NEtf *
NStrip; i++ )
199 TChain* data_barrel =
new TChain(
"btrk" );
202 std::cerr <<
" tofcalgsec Error Msg: creating a tree[barrel] fails in TofDataSet()"
204 throw "Error Msg: creating a tree fails in TofDataSet() ";
206 std::cout <<
"begin reading barrel data file ... " << std::endl;
209 for ( std::vector<std::string>::iterator it = barrelFiles.begin(); it != barrelFiles.end();
212 std::cout <<
" Add file : " << ( *it ) << std::endl;
213 data_barrel->Add( ( *it ).c_str() );
218 <<
"tofcalgsec Error Msg : in TofDataSet::setDataFiles(std::vector<std::string>&) "
228 TChain* data_endcap =
new TChain(
"etrk" );
231 std::cerr <<
" tofcalgsec Error Msg: creating a tree[endcap] fails in TofDataSet()"
233 throw "Error Msg: creating a tree fails in TofDataSet() ";
235 std::cout <<
"begin reading endcap data file ... " << std::endl;
238 for ( std::vector<std::string>::iterator it = endcapFiles.begin(); it != endcapFiles.end();
241 std::cout <<
" Add file : " << ( *it ) << std::endl;
242 data_endcap->Add( ( *it ).c_str() );
247 <<
"tofcalgsec Error Msg : in TofDataSet::setDataFiles(std::vector<std::string>&) "
257 TChain* data_etf =
new TChain(
"etf" );
260 std::cerr <<
" tofcalgsec Error Msg: creating a tree[etf] fails in TofDataSet()"
262 throw "Error Msg: creating a tree fails in TofDataSet() ";
264 std::cout <<
"begin reading etf data file ... " << std::endl;
267 for ( std::vector<std::string>::iterator it = etfFiles.begin(); it != etfFiles.end();
270 std::cout <<
" Add file : " << ( *it ) << std::endl;
271 data_etf->Add( ( *it ).c_str() );
276 <<
"tofcalgsec Error Msg : in TofDataSet::setDataFiles(std::vector<std::string>&) "
286 RecBTofCalHitCol::iterator
iter = bhitcol.begin();
287 for ( ;
iter != bhitcol.end();
iter++ )
289 int tofid = ( *iter )->mod();
290 if ( tofid < 0 || tofid > 175 )
continue;
291 if ( fabs( ( *iter )->dzHit() - 1.0 ) > 1.0e-6 )
continue;
294 if ( r->
cutBarrel() ) { barrelData[tofid]->push_back( r ); }
301 RecETofCalHitCol::iterator
iter = ehitcol.begin();
302 for ( ;
iter != ehitcol.end();
iter++ )
304 int tofid = ( *iter )->mod();
305 if ( tofid < 0 || tofid > 95 )
continue;
308 if ( r->
cutEndcap() ) { endcapData[tofid]->push_back( r ); }
315 RecBTofCalHitCol::iterator
iter = bhitcol.begin();
316 for ( ;
iter != bhitcol.end();
iter++ )
318 int tofid = ( *iter )->mod();
319 int strip = int( ( *iter )->sinTheta() );
320 if ( tofid < 0 || tofid > 71 )
continue;
321 if ( strip < 0 || strip > 11 )
continue;
322 if ( fabs( ( *iter )->dzHit() ) > 1.0e-6 )
continue;
323 unsigned int id = tofid * 12 + strip;
325 if ( r->
cutEtf() ) { etfData[id]->push_back( r ); }
ObjectVector< RecBTofCalHit > RecBTofCalHitCol
ObjectVector< RecETofCalHit > RecETofCalHitCol
struct tagItem rootRecord
std::vector< Record * > RecordSet
const unsigned int NStrip
const unsigned int NBarrel
const unsigned int NEndcap
void setData(TTree *, unsigned int)
void setEtfDataFiles(std::vector< std::string > &)
void setEtfData(RecBTofCalHitCol &)
void setEndcapDataFiles(std::vector< std::string > &)
void setBarrelData(RecBTofCalHitCol &)
void setBarrelDataFiles(std::vector< std::string > &)
void setEndcapData(RecETofCalHitCol &)