#include <MdcBbEmcEff.h>
Public Member Functions | |
MdcBbEmcEff (const std::string &name, ISvcLocator *pSvcLocator) | |
StatusCode | initialize () |
StatusCode | execute () |
StatusCode | finalize () |
Private Types | |
OUT = -1 | |
BARREL = 0 | |
ENDCAP = 1 | |
GAP = 2 | |
enum | TrackPosition { OUT = -1, BARREL = 0, ENDCAP = 1, GAP = 2 } |
Private Member Functions | |
int | bookNTuple () |
int | getEventInfo () |
int | selectBbByEmcShower () |
int | bbEmcMdcTrackingEff () |
Private Attributes | |
int | m_evtIndex |
bool | m_hist |
int | m_debug |
double | m_emcDangCutLow |
double | m_emcDangCutHigh |
double | m_emcEneCutLow |
double | m_emcEneCutHigh |
double | m_emcEneCutTot |
double | m_dPhiCut |
double | m_dCosThetaCut |
double | m_d0Cut |
double | m_z0Cut |
double | m_momCutLow |
double | m_momCutHigh |
double | m_dPhiMdcEmcCut |
double | m_barrelCut |
double | m_endcapCutLow |
double | m_endcapCutHigh |
TrackPosition | m_posFlag |
long | t_evtNo |
long | t_runNo |
double | t_t0 |
int | t_t0Stat |
int | t_nTk |
double | t_emcPhi [2] |
int | m_effAllN1 |
int | m_effAllN2 |
int | m_effN1 [3] |
int | m_effN2 [3] |
NTuple::Tuple * | m_tuple1 |
NTuple::Item< long > | m_runNo |
NTuple::Item< long > | m_evtNo |
NTuple::Item< double > | m_t0 |
NTuple::Item< long > | m_t0Stat |
NTuple::Item< long > | m_index |
NTuple::Array< double > | m_emcEne |
NTuple::Array< double > | m_emcTheta |
NTuple::Array< double > | m_emcPhi |
NTuple::Item< double > | m_emcDang |
NTuple::Item< float > | m_dCosTheta |
NTuple::Item< float > | m_dPhi |
NTuple::Item< long > | m_nTk |
NTuple::Array< double > | m_d0 |
NTuple::Array< double > | m_z0 |
NTuple::Array< double > | m_cosTheta |
NTuple::Array< double > | m_phi |
NTuple::Array< double > | m_p |
NTuple::Array< double > | m_pt |
Definition at line 7 of file MdcBbEmcEff.h.
enum MdcBbEmcEff::TrackPosition [private] |
MdcBbEmcEff::MdcBbEmcEff | ( | const std::string & | name, | |
ISvcLocator * | pSvcLocator | |||
) |
Definition at line 31 of file MdcBbEmcEff.cxx.
References m_barrelCut, m_d0Cut, m_dCosThetaCut, m_debug, m_dPhiCut, m_emcDangCutHigh, m_emcDangCutLow, m_emcEneCutHigh, m_emcEneCutLow, m_emcEneCutTot, m_endcapCutHigh, m_endcapCutLow, m_hist, and m_z0Cut.
00031 : 00032 Algorithm(name, pSvcLocator) { 00033 declareProperty("hist", m_hist = false); 00034 declareProperty("debug", m_debug= 0); 00035 //Good Emc shower selection cut 00036 declareProperty("emcEneCutLow", m_emcEneCutLow=1.44); 00037 declareProperty("emcEneCutHigh", m_emcEneCutHigh=1.88); 00038 declareProperty("emcEneCutTot", m_emcEneCutTot=3.16); 00039 declareProperty("emcDangCutLow", m_emcDangCutLow=2.94); 00040 declareProperty("emcDangCutHigh",m_emcDangCutHigh=3.08); 00041 //Mdc track cut 00042 declareProperty("dPhi", m_dPhiCut= 0.2); 00043 declareProperty("dCosTheta", m_dCosThetaCut= 0.2); 00044 declareProperty("d0", m_d0Cut= 1.); 00045 declareProperty("z0", m_z0Cut= 5.); 00046 //Barrel and Endcap cut 00047 declareProperty("barrelCut", m_barrelCut = 0.8); 00048 declareProperty("endcapCut", m_endcapCutLow = 0.83); 00049 declareProperty("endcapCutHigh", m_endcapCutHigh = 0.93); 00050 }
int MdcBbEmcEff::bbEmcMdcTrackingEff | ( | ) | [private] |
Definition at line 281 of file MdcBbEmcEff.cxx.
References BARREL, cos(), genRecEmupikp::i, m_cosTheta, m_d0, m_d0Cut, m_dCosTheta, m_dCosThetaCut, m_debug, m_dPhi, m_dPhiCut, m_effAllN1, m_effAllN2, m_effN1, m_effN2, m_evtNo, m_hist, m_nTk, m_p, m_phi, m_posFlag, m_pt, m_runNo, m_t0, m_t0Stat, m_tuple1, m_z0, m_z0Cut, msgSvc(), pi, t_evtNo, t_nTk, t_runNo, t_t0, t_t0Stat, and Bes_Common::WARNING.
Referenced by execute().
00281 { 00282 MsgStream log(msgSvc(), name()); 00283 00284 // Get RecMdcTrackCol and RecMdcHitCol 00285 SmartDataPtr<RecMdcTrackCol> recMdcTrackCol(eventSvc(), "/Event/Recon/RecMdcTrackCol"); 00286 if (!recMdcTrackCol){ 00287 log << MSG::WARNING<< " Unable to retrieve recMdcTrackCol" << endreq; 00288 return -1; 00289 } 00290 00291 //1.Take track number ==1 or ==2 00292 t_nTk = recMdcTrackCol->size(); 00293 if((t_nTk>2) || (0==t_nTk)) { 00294 if(m_debug>1)std::cout<<name()<<"Cut by nTk "<<t_nTk<<std::endl; 00295 return -2; 00296 } 00297 00298 // Get RecMdcTrack info 00299 double d0[2],z0[2],cosTheta[2],phi[2],p[2],pt[2]; 00300 RecMdcTrackCol::iterator it = recMdcTrackCol->begin(); 00301 for(int iTk=0 ; it != recMdcTrackCol->end(); it++,iTk++ ) { 00302 RecMdcTrack* tk = (*it); 00303 d0[iTk] = tk->helix(0); 00304 z0[iTk] = tk->helix(3); 00305 if ((fabs(d0[iTk])>m_d0Cut) || (fabs(z0[iTk])>m_z0Cut)){ 00306 if(m_debug>0) std::cout<<"Cut by d0 " 00307 <<d0[iTk]<<" z0 "<<z0[iTk]<<std::endl; 00308 return -3; 00309 } 00310 cosTheta[iTk] = cos(tk->theta()); 00311 phi[iTk] = tk->phi(); 00312 p[iTk] = tk->p(); 00313 pt[iTk] = tk->pxy(); 00314 } 00315 00316 double dCosTheta = cosTheta[0]+cosTheta[1]; 00317 double dPhi = phi[0] - phi[1] + CLHEP::pi; 00318 if(dPhi > CLHEP::pi) dPhi-=CLHEP::twopi; 00319 00320 //hist Mdc track info 00321 if (m_hist){ 00322 m_runNo = t_runNo; 00323 m_evtNo = t_evtNo; 00324 m_t0 = t_t0; 00325 m_t0Stat= t_t0Stat; 00326 00327 for(int i=0;i<2;i++){ 00328 m_cosTheta[i]=cosTheta[i]; 00329 m_phi[i]=phi[i]; 00330 m_d0[i]=d0[i]; 00331 m_z0[i]=z0[i]; 00332 m_p[i]=p[i]; 00333 m_pt[i]=pt[i]; 00334 } 00335 m_nTk = t_nTk; 00336 m_dCosTheta= dCosTheta; 00337 m_dPhi = dPhi; 00338 00339 m_nTk = t_nTk; 00340 m_tuple1->write(); 00341 } 00342 00343 //4.Angle cut of 2 track event: delta(theta)<0.1 and delta(phi)<0.1 00344 if(2==t_nTk){ 00345 if((fabs(dCosTheta)>m_dCosThetaCut) || (fabs(dPhi)>m_dPhiCut)){ 00346 if(m_debug>0) { 00347 if (fabs(dCosTheta)>m_dCosThetaCut){ 00348 std::cout<<"Cut by dCosTheta "<<dCosTheta<<std::endl; 00349 }else{ 00350 std::cout<<"Cut by dPhi "<<dPhi<<std::endl; 00351 } 00352 } 00353 return -4; 00354 } 00355 m_effAllN2++; 00356 m_effN2[m_posFlag]++; 00357 }else{ 00358 m_effAllN1++; 00359 m_effN1[m_posFlag]++; 00360 } 00361 00362 00363 if ((1==t_nTk)&&(m_posFlag==BARREL)) setFilterPassed(true); 00364 return 1; 00365 }
int MdcBbEmcEff::bookNTuple | ( | ) | [private] |
Definition at line 115 of file MdcBbEmcEff.cxx.
References calibUtil::ERROR, m_cosTheta, m_d0, m_dCosTheta, m_dPhi, m_emcDang, m_emcEne, m_emcPhi, m_emcTheta, m_evtNo, m_index, m_nTk, m_p, m_phi, m_pt, m_runNo, m_t0, m_t0Stat, m_tuple1, m_z0, msgSvc(), and ntupleSvc().
Referenced by initialize().
00115 { 00116 MsgStream log(msgSvc(), name()); 00117 StatusCode sc; 00118 NTuplePtr nt1(ntupleSvc(), "MdcBbEmcEff/evt"); 00119 if ( nt1 ) { m_tuple1 = nt1;} 00120 else { 00121 m_tuple1 = ntupleSvc()->book ("MdcBbEmcEff/evt", CLID_ColumnWiseTuple, "event"); 00122 if ( m_tuple1 ) { 00123 //event info 00124 sc = m_tuple1->addItem ("runNo", m_runNo); 00125 sc = m_tuple1->addItem ("evtNo", m_evtNo); 00126 sc = m_tuple1->addItem ("t0", m_t0); 00127 sc = m_tuple1->addItem ("t0Stat", m_t0Stat); 00128 00129 //Emc shower 00130 sc = m_tuple1->addItem ("index", m_index,0,2); 00131 sc = m_tuple1->addIndexedItem ("emcTheta",m_index, m_emcTheta); 00132 sc = m_tuple1->addIndexedItem ("emcPhi", m_index, m_emcPhi); 00133 sc = m_tuple1->addIndexedItem ("emcEne", m_index, m_emcEne); 00134 sc = m_tuple1->addItem ("emcDang", m_emcDang); 00135 00136 //Mdc track 00137 sc = m_tuple1->addItem ("dCosTheta", m_dCosTheta); 00138 sc = m_tuple1->addItem ("dPhi", m_dPhi); 00139 sc = m_tuple1->addItem ("nTk", m_nTk,0,2); 00140 sc = m_tuple1->addIndexedItem ("phi", m_nTk,m_phi); 00141 sc = m_tuple1->addIndexedItem ("cosTheta",m_nTk,m_cosTheta); 00142 sc = m_tuple1->addIndexedItem ("d0", m_nTk,m_d0); 00143 sc = m_tuple1->addIndexedItem ("z0", m_nTk,m_z0); 00144 sc = m_tuple1->addIndexedItem ("p", m_nTk,m_p); 00145 sc = m_tuple1->addIndexedItem ("pt", m_nTk,m_pt); 00146 } else { 00147 log << MSG::ERROR << "Cannot book tuple MdcBbEmcEff/evt" << endmsg; 00148 return -1; 00149 } 00150 } 00151 return 1; 00152 }
StatusCode MdcBbEmcEff::execute | ( | ) |
Definition at line 75 of file MdcBbEmcEff.cxx.
References bbEmcMdcTrackingEff(), getEventInfo(), msgSvc(), and selectBbByEmcShower().
00075 { 00076 MsgStream log(msgSvc(), name()); 00077 StatusCode sc = StatusCode::SUCCESS; 00078 00079 setFilterPassed(false); 00080 00081 // Get eventNo, t0 00082 if(getEventInfo()<0) return StatusCode::FAILURE; 00083 00084 // Select Bhabha by Emc shower 00085 if(selectBbByEmcShower()<0) return StatusCode::SUCCESS; 00086 00087 // Select Good track 00088 if(bbEmcMdcTrackingEff()<0) return StatusCode::SUCCESS; 00089 00090 return StatusCode::SUCCESS; 00091 }
StatusCode MdcBbEmcEff::finalize | ( | ) |
Definition at line 94 of file MdcBbEmcEff.cxx.
References genRecEmupikp::i, Bes_Common::INFO, m_effAllN1, m_effAllN2, m_effN1, m_effN2, msgSvc(), boss::pos, and deljobs::string.
00094 { 00095 MsgStream log(msgSvc(), name()); 00096 log << MSG::INFO << "in finalize()" << endreq; 00097 if((m_effAllN1+m_effAllN2)>0)std::cout<<" MdcBbEmcEff efficiency = N2/(N1+N2) = " 00098 << m_effAllN2<<"/("<<m_effAllN1<<"+"<<m_effAllN2<<") = " 00099 << (m_effAllN2)/((float)(m_effAllN1+m_effAllN2))<<std::endl; 00100 for(int i=0;i<3;i++){ 00101 string pos; 00102 if (0==i) pos="barrel"; 00103 if (1==i) pos="gap"; 00104 if (2==i) pos="endcap"; 00105 if((m_effN1[i]+m_effN2[i])>0){ 00106 std::cout<<" MdcBbEmcEff of "<<pos <<" N2/(N1+N2) = " 00107 << m_effN2[i]<<"/("<<m_effN1[i]<<"+"<<m_effN2[i]<<") = " 00108 << (m_effN2[i])/((float)(m_effN1[i]+m_effN2[i]))<<std::endl; 00109 } 00110 } 00111 return StatusCode::SUCCESS; 00112 }
int MdcBbEmcEff::getEventInfo | ( | ) | [private] |
Definition at line 154 of file MdcBbEmcEff.cxx.
References m_evtIndex, msgSvc(), t_evtNo, t_runNo, t_t0, t_t0Stat, and Bes_Common::WARNING.
Referenced by execute().
00154 { 00155 MsgStream log(msgSvc(), name()); 00156 00157 // Get event header 00158 SmartDataPtr<Event::EventHeader> evtHead(eventSvc(),"/Event/EventHeader"); 00159 if (evtHead) { 00160 t_runNo = evtHead->runNumber(); 00161 t_evtNo = evtHead->eventNumber(); 00162 }else{ 00163 log << MSG::WARNING<< "Could not retreve event header" << endreq; 00164 } 00165 00166 std::cout<<m_evtIndex <<"------------evtNo:"<<t_evtNo << std::endl;//yzhang debug 00167 m_evtIndex++; 00168 00169 //Get event start tme 00170 t_t0 = -1; 00171 t_t0Stat = -1; 00172 SmartDataPtr<RecEsTimeCol> aevtmeCol(eventSvc(),"/Event/Recon/RecEsTimeCol"); 00173 if ((!aevtmeCol)||(aevtmeCol->size()==0)) { 00174 log << MSG::WARNING << "Could not fnd RecEsTimeCol" << endreq; 00175 }else{ 00176 RecEsTimeCol::iterator iter_evt = aevtmeCol->begin(); 00177 t_t0 = (*iter_evt)->getTest(); 00178 t_t0Stat = (*iter_evt)->getStat(); 00179 } 00180 return 1; 00181 }
StatusCode MdcBbEmcEff::initialize | ( | ) |
Definition at line 54 of file MdcBbEmcEff.cxx.
References bookNTuple(), genRecEmupikp::i, m_effAllN1, m_effAllN2, m_effN1, m_effN2, m_evtIndex, m_hist, and msgSvc().
00054 { 00055 MsgStream log(msgSvc(), name()); 00056 StatusCode sc; 00057 m_evtIndex = 0; 00058 00059 m_effAllN1 = 0; 00060 m_effAllN2 = 0; 00061 00062 for (int i=0;i<3;i++){ 00063 m_effN1[i] = 0; 00064 m_effN2[i] = 0; 00065 } 00066 00067 if(m_hist) { 00068 if(bookNTuple()<0) sc = StatusCode::FAILURE; 00069 } 00070 00071 return StatusCode::SUCCESS; 00072 }
int MdcBbEmcEff::selectBbByEmcShower | ( | ) | [private] |
Definition at line 183 of file MdcBbEmcEff.cxx.
References BARREL, cos(), Bes_Common::DEBUG, ENDCAP, DstEmcShower::energy(), GAP, genRecEmupikp::i, m_barrelCut, m_debug, m_emcDang, m_emcDangCutHigh, m_emcEne, m_emcEneCutHigh, m_emcEneCutLow, m_emcEneCutTot, m_emcPhi, m_emcTheta, m_endcapCutHigh, m_endcapCutLow, m_hist, m_index, m_posFlag, msgSvc(), OUT, swap, t_emcPhi, DstEmcShower::x(), DstEmcShower::y(), and DstEmcShower::z().
Referenced by execute().
00183 { 00184 MsgStream log(msgSvc(), name()); 00185 00186 SmartDataPtr<EvtRecEvent> evtRecEvent(eventSvc(), "/Event/EvtRec/EvtRecEvent"); 00187 log << MSG::DEBUG <<"ncharg, nneu, tottks = " 00188 << evtRecEvent->totalCharged() << " , " 00189 << evtRecEvent->totalNeutral() << " , " 00190 << evtRecEvent->totalTracks() <<endreq; 00191 SmartDataPtr<EvtRecTrackCol> evtRecTrkCol(eventSvc(), "/Event/EvtRec/EvtRecTrackCol"); 00192 00193 Vp4 vGood; 00194 HepLorentzVector m_lv_ele; 00195 for(int i=0; i<evtRecEvent->totalTracks(); i++){ 00196 if(i>=evtRecTrkCol->size()) return -1; 00197 00198 EvtRecTrackIterator itTrk =evtRecTrkCol->begin() + i; 00199 if(!(*itTrk)->isEmcShowerValid()) { 00200 if(m_debug>1)std::cout<<"EmcShower NOT Valid "<<std::endl; 00201 continue; 00202 } 00203 RecEmcShower *emcTrk = (*itTrk)->emcShower(); 00204 if((emcTrk->energy()>m_emcEneCutHigh)||(emcTrk->energy()<m_emcEneCutLow)){ 00205 if(m_debug>1)std::cout<<"Cut by EmcEnergy: "<<emcTrk->energy()<<std::endl; 00206 continue; 00207 } 00208 Hep3Vector emcpos(emcTrk->x(), emcTrk->y(), emcTrk->z()); 00209 m_lv_ele.setVect(emcpos); 00210 m_lv_ele.setE(emcTrk->energy()); 00211 00212 vGood.push_back(m_lv_ele); 00213 } 00214 00215 if(m_debug>1)std::cout<<"vGood.size = "<<vGood.size()<<std::endl; 00216 if(vGood.size()!=2){ 00217 if (m_debug>0) std::cout<<"Cut by vGood.size: "<<vGood.size()<<std::endl; 00218 return -2;//num of good showers==2 00219 } 00220 00221 00222 //Barrel or endcap 00223 //if one shower in endcap , then this event in endcap 00224 for(int i=0; i<2; i++){ 00225 double cosEmcTheta = cos(vGood[i].vect().theta()); 00226 if( fabs(cosEmcTheta) <= m_barrelCut ){ 00227 m_posFlag = BARREL; 00228 }else if((cosEmcTheta>=m_endcapCutLow)&&(cosEmcTheta<=m_endcapCutHigh)){ 00229 m_posFlag = ENDCAP; 00230 break; 00231 }else if((cosEmcTheta>m_barrelCut)&&(cosEmcTheta<m_endcapCutLow)){ 00232 m_posFlag = GAP; 00233 }else{ 00234 m_posFlag = OUT; 00235 } 00236 if(m_debug>1) std::cout<<"Emc cos(theta)="<<cosEmcTheta 00237 <<"Track in "<<m_posFlag<<std::endl; 00238 } 00239 if(m_posFlag == OUT) return -5; 00240 00241 double dang = vGood[0].vect().angle(vGood[1].vect()); 00242 if(vGood[0].e() > vGood[1].e()) swap(vGood[0],vGood[1]); 00243 double emcTheta[2],emcEne[2]; //emcPhi[2] 00244 for(int index=0; index<2; index++){ 00245 emcTheta[index] = vGood[index].vect().theta(); 00246 t_emcPhi[index] = vGood[index].vect().phi(); 00247 emcEne[index] = vGood[index].e(); 00248 } 00249 00250 if(m_hist){ 00251 m_index = 2; 00252 for (int index=0;index<2;index++){ 00253 m_emcTheta[index] = emcTheta[index]; 00254 m_emcPhi[index] = t_emcPhi[index]; 00255 m_emcEne[index] = emcEne[index]; 00256 } 00257 m_emcDang = dang; 00258 } 00259 if(m_debug>1) std::cout<<" dang "<<dang<<std::endl; 00260 if(m_debug>1) std::cout<<" energy "<<emcEne[0]<<" "<<emcEne[1]<<std::endl; 00261 //delta(angle) cut 00262 if(dang<=m_emcDangCutLow || dang>=m_emcDangCutHigh ) { 00263 if(m_debug>0) std::cout<<"Cut by emcDang "<<dang<<std::endl; 00264 return -3; 00265 } 00266 //cut by shower energy 00267 if(emcEne[0]<=m_emcEneCutLow || emcEne[1]>=m_emcEneCutHigh){ 00268 if(m_debug>0) std::cout<<"Cut by emc energy low or high " 00269 <<emcEne[0]<<" "<<emcEne[1]<<std::endl; 00270 return -4; 00271 } 00272 if( (emcEne[0] + emcEne[1])<=m_emcEneCutTot){ 00273 if(m_debug>0) std::cout<<"Cut by emc total energy:" 00274 <<emcEne[0]<<" "<<emcEne[1]<<" tot:"<<emcEne[0]+emcEne[1]<<std::endl; 00275 return StatusCode::FAILURE; 00276 } 00277 00278 return 1; 00279 }
double MdcBbEmcEff::m_barrelCut [private] |
Definition at line 41 of file MdcBbEmcEff.h.
Referenced by MdcBbEmcEff(), and selectBbByEmcShower().
NTuple::Array<double> MdcBbEmcEff::m_cosTheta [private] |
NTuple::Array<double> MdcBbEmcEff::m_d0 [private] |
double MdcBbEmcEff::m_d0Cut [private] |
Definition at line 34 of file MdcBbEmcEff.h.
Referenced by bbEmcMdcTrackingEff(), and MdcBbEmcEff().
NTuple::Item<float> MdcBbEmcEff::m_dCosTheta [private] |
double MdcBbEmcEff::m_dCosThetaCut [private] |
Definition at line 33 of file MdcBbEmcEff.h.
Referenced by bbEmcMdcTrackingEff(), and MdcBbEmcEff().
int MdcBbEmcEff::m_debug [private] |
Definition at line 22 of file MdcBbEmcEff.h.
Referenced by bbEmcMdcTrackingEff(), MdcBbEmcEff(), and selectBbByEmcShower().
NTuple::Item<float> MdcBbEmcEff::m_dPhi [private] |
double MdcBbEmcEff::m_dPhiCut [private] |
Definition at line 32 of file MdcBbEmcEff.h.
Referenced by bbEmcMdcTrackingEff(), and MdcBbEmcEff().
double MdcBbEmcEff::m_dPhiMdcEmcCut [private] |
Definition at line 38 of file MdcBbEmcEff.h.
int MdcBbEmcEff::m_effAllN1 [private] |
Definition at line 55 of file MdcBbEmcEff.h.
Referenced by bbEmcMdcTrackingEff(), finalize(), and initialize().
int MdcBbEmcEff::m_effAllN2 [private] |
Definition at line 56 of file MdcBbEmcEff.h.
Referenced by bbEmcMdcTrackingEff(), finalize(), and initialize().
int MdcBbEmcEff::m_effN1[3] [private] |
Definition at line 57 of file MdcBbEmcEff.h.
Referenced by bbEmcMdcTrackingEff(), finalize(), and initialize().
int MdcBbEmcEff::m_effN2[3] [private] |
Definition at line 58 of file MdcBbEmcEff.h.
Referenced by bbEmcMdcTrackingEff(), finalize(), and initialize().
NTuple::Item<double> MdcBbEmcEff::m_emcDang [private] |
double MdcBbEmcEff::m_emcDangCutHigh [private] |
Definition at line 26 of file MdcBbEmcEff.h.
Referenced by MdcBbEmcEff(), and selectBbByEmcShower().
double MdcBbEmcEff::m_emcDangCutLow [private] |
NTuple::Array<double> MdcBbEmcEff::m_emcEne [private] |
double MdcBbEmcEff::m_emcEneCutHigh [private] |
Definition at line 28 of file MdcBbEmcEff.h.
Referenced by MdcBbEmcEff(), and selectBbByEmcShower().
double MdcBbEmcEff::m_emcEneCutLow [private] |
Definition at line 27 of file MdcBbEmcEff.h.
Referenced by MdcBbEmcEff(), and selectBbByEmcShower().
double MdcBbEmcEff::m_emcEneCutTot [private] |
Definition at line 29 of file MdcBbEmcEff.h.
Referenced by MdcBbEmcEff(), and selectBbByEmcShower().
NTuple::Array<double> MdcBbEmcEff::m_emcPhi [private] |
NTuple::Array<double> MdcBbEmcEff::m_emcTheta [private] |
double MdcBbEmcEff::m_endcapCutHigh [private] |
Definition at line 43 of file MdcBbEmcEff.h.
Referenced by MdcBbEmcEff(), and selectBbByEmcShower().
double MdcBbEmcEff::m_endcapCutLow [private] |
Definition at line 42 of file MdcBbEmcEff.h.
Referenced by MdcBbEmcEff(), and selectBbByEmcShower().
int MdcBbEmcEff::m_evtIndex [private] |
NTuple::Item<long> MdcBbEmcEff::m_evtNo [private] |
bool MdcBbEmcEff::m_hist [private] |
Definition at line 21 of file MdcBbEmcEff.h.
Referenced by bbEmcMdcTrackingEff(), initialize(), MdcBbEmcEff(), and selectBbByEmcShower().
NTuple::Item<long> MdcBbEmcEff::m_index [private] |
double MdcBbEmcEff::m_momCutHigh [private] |
Definition at line 37 of file MdcBbEmcEff.h.
double MdcBbEmcEff::m_momCutLow [private] |
Definition at line 36 of file MdcBbEmcEff.h.
NTuple::Item<long> MdcBbEmcEff::m_nTk [private] |
NTuple::Array<double> MdcBbEmcEff::m_p [private] |
NTuple::Array<double> MdcBbEmcEff::m_phi [private] |
TrackPosition MdcBbEmcEff::m_posFlag [private] |
Definition at line 45 of file MdcBbEmcEff.h.
Referenced by bbEmcMdcTrackingEff(), and selectBbByEmcShower().
NTuple::Array<double> MdcBbEmcEff::m_pt [private] |
NTuple::Item<long> MdcBbEmcEff::m_runNo [private] |
NTuple::Item<double> MdcBbEmcEff::m_t0 [private] |
NTuple::Item<long> MdcBbEmcEff::m_t0Stat [private] |
NTuple::Tuple* MdcBbEmcEff::m_tuple1 [private] |
NTuple::Array<double> MdcBbEmcEff::m_z0 [private] |
double MdcBbEmcEff::m_z0Cut [private] |
Definition at line 35 of file MdcBbEmcEff.h.
Referenced by bbEmcMdcTrackingEff(), and MdcBbEmcEff().
double MdcBbEmcEff::t_emcPhi[2] [private] |
long MdcBbEmcEff::t_evtNo [private] |
Definition at line 48 of file MdcBbEmcEff.h.
Referenced by bbEmcMdcTrackingEff(), and getEventInfo().
int MdcBbEmcEff::t_nTk [private] |
long MdcBbEmcEff::t_runNo [private] |
Definition at line 49 of file MdcBbEmcEff.h.
Referenced by bbEmcMdcTrackingEff(), and getEventInfo().
double MdcBbEmcEff::t_t0 [private] |
Definition at line 50 of file MdcBbEmcEff.h.
Referenced by bbEmcMdcTrackingEff(), and getEventInfo().
int MdcBbEmcEff::t_t0Stat [private] |
Definition at line 51 of file MdcBbEmcEff.h.
Referenced by bbEmcMdcTrackingEff(), and getEventInfo().