#include <DimuPreSelect.h>
Public Member Functions | |
DimuPreSelect (const std::string &name, ISvcLocator *pSvcLocator) | |
StatusCode | initialize () |
StatusCode | execute () |
StatusCode | finalize () |
DimuPreSelect () | |
~DimuPreSelect () | |
void | BookNtuple (NTuple::Tuple *&tuple) |
int | IsDimu () |
void | Print () |
Private Attributes | |
bool | m_selectFlag |
bool | m_output |
bool | m_mdcPass |
bool | m_tofPass |
bool | m_emcPass |
bool | m_mucPass |
bool | m_useFlag [4] |
bool | m_passFlag [4] |
long | m_totevent |
long | m_currun |
long | m_curevent |
double | m_ecms |
double | m_vr0cut |
double | m_vz0cut |
double | m_pcut_up |
double | m_pcut_down |
double | m_psymcut |
double | m_tcut |
double | m_ecut_up |
double | m_ecut_down |
double | m_dthetacut |
double | m_dphicut |
double | m_partselect |
double | m_mudigicut |
double | m_mutrkcut |
double | m_cutpass [20] |
double | m_subpass [4] |
double | m_totalpass |
NTuple::Tuple * | m_passtuple |
NTuple::Item< double > | m_run |
NTuple::Item< double > | m_event |
NTuple::Item< double > | m_part |
NTuple::Item< double > | m_c1 |
NTuple::Item< double > | m_c2 |
NTuple::Item< double > | m_r1 |
NTuple::Item< double > | m_r2 |
NTuple::Item< double > | m_z1 |
NTuple::Item< double > | m_z2 |
NTuple::Item< double > | m_p1 |
NTuple::Item< double > | m_p2 |
NTuple::Item< double > | m_t1 |
NTuple::Item< double > | m_t2 |
NTuple::Item< double > | m_e1 |
NTuple::Item< double > | m_e2 |
NTuple::Item< double > | m_theta1 |
NTuple::Item< double > | m_theta2 |
NTuple::Item< double > | m_phi1 |
NTuple::Item< double > | m_phi2 |
NTuple::Item< double > | m_mudigi |
NTuple::Item< double > | m_mutrk |
NTuple::Item< double > | m_zeroCFlag |
NTuple::Item< double > | m_vtRZFlag |
NTuple::Item< double > | m_pLimFlag |
NTuple::Item< double > | m_pSymFlag |
NTuple::Item< double > | m_tLimFlag |
NTuple::Item< double > | m_eLimFlag |
NTuple::Item< double > | m_eBBFlag |
NTuple::Item< double > | m_partFlag |
NTuple::Item< double > | m_mudigiFlag |
NTuple::Item< double > | m_mutrkFlag |
NTuple::Item< double > | m_mdcFlag |
NTuple::Item< double > | m_tofFlag |
NTuple::Item< double > | m_emcFlag |
NTuple::Item< double > | m_mucFlag |
PropertyMgr | m_propMgr |
NTuple::Tuple * | m_passtuple |
NTuple::Item< double > | m_run |
NTuple::Item< double > | m_event |
NTuple::Item< double > | m_part |
NTuple::Item< double > | m_c1 |
NTuple::Item< double > | m_c2 |
NTuple::Item< double > | m_r1 |
NTuple::Item< double > | m_r2 |
NTuple::Item< double > | m_z1 |
NTuple::Item< double > | m_z2 |
NTuple::Item< double > | m_p1 |
NTuple::Item< double > | m_p2 |
NTuple::Item< double > | m_t1 |
NTuple::Item< double > | m_t2 |
NTuple::Item< double > | m_e1 |
NTuple::Item< double > | m_e2 |
NTuple::Item< double > | m_theta1 |
NTuple::Item< double > | m_theta2 |
NTuple::Item< double > | m_phi1 |
NTuple::Item< double > | m_phi2 |
NTuple::Item< double > | m_mudigi |
NTuple::Item< double > | m_mutrk |
NTuple::Item< double > | m_zeroCFlag |
NTuple::Item< double > | m_vtRZFlag |
NTuple::Item< double > | m_pLimFlag |
NTuple::Item< double > | m_pSymFlag |
NTuple::Item< double > | m_tLimFlag |
NTuple::Item< double > | m_eLimFlag |
NTuple::Item< double > | m_eBBFlag |
NTuple::Item< double > | m_partFlag |
NTuple::Item< double > | m_mudigiFlag |
NTuple::Item< double > | m_mutrkFlag |
NTuple::Item< double > | m_mdcFlag |
NTuple::Item< double > | m_tofFlag |
NTuple::Item< double > | m_emcFlag |
NTuple::Item< double > | m_mucFlag |
Definition at line 7 of file DimuPreSelect.h.
DimuPreSelect::DimuPreSelect | ( | const std::string & | name, | |
ISvcLocator * | pSvcLocator | |||
) |
Definition at line 49 of file DimuPreSelect.cxx.
References m_dphicut, m_dthetacut, m_ecms, m_ecut_down, m_ecut_up, m_mudigicut, m_mutrkcut, m_output, m_partselect, m_pcut_down, m_pcut_up, m_psymcut, m_selectFlag, m_tcut, m_useFlag, m_vr0cut, and m_vz0cut.
00049 : 00050 Algorithm(name, pSvcLocator) 00051 { 00052 declareProperty("CmsEnergy", m_ecms = 3.686); 00053 declareProperty("Vr0Cut", m_vr0cut = 1.0); 00054 declareProperty("Vz0Cut", m_vz0cut = 5.0); 00055 declareProperty("PUpCut", m_pcut_up = 2.0); 00056 declareProperty("PDownCut", m_pcut_down = 0.5); 00057 declareProperty("PSymCut", m_psymcut = 0.5); 00058 declareProperty("TCut", m_tcut = 4); 00059 declareProperty("EUpCut", m_ecut_up = 1.0); 00060 declareProperty("EDownCut", m_ecut_down = 0.1); 00061 declareProperty("DThetaCut", m_dthetacut = 0.05); 00062 declareProperty("DPhiCut", m_dphicut = 0.4); 00063 declareProperty("PartSelect", m_partselect= 0); 00064 declareProperty("MuDigiCut", m_mudigicut = 6); 00065 declareProperty("MuTrkCut", m_mutrkcut = 1); 00066 declareProperty("UseMDC", m_useFlag[0]= 1); 00067 declareProperty("UseTOF", m_useFlag[1]= 1); 00068 declareProperty("UseEMC", m_useFlag[2]= 1); 00069 declareProperty("UseMUC", m_useFlag[3]= 1); 00070 declareProperty ("Output", m_output = false); 00071 00072 declareProperty ("SelectDimu",m_selectFlag= true); 00073 //Declare the properties 00074 }
DimuPreSelect::DimuPreSelect | ( | ) |
Definition at line 24 of file DimuPreSelect.cxx.
References genRecEmupikp::i, m_curevent, m_currun, m_cutpass, m_dphicut, m_dthetacut, m_ecms, m_ecut_down, m_ecut_up, m_mudigicut, m_mutrkcut, m_output, m_partselect, m_pcut_down, m_pcut_up, m_propMgr, m_psymcut, m_subpass, m_tcut, m_totalpass, m_totevent, m_vr0cut, and m_vz0cut.
00025 { 00026 m_output=false; 00027 m_totevent = m_currun = m_curevent = 0; 00028 for(int i = 0; i < 20; i++) m_cutpass[i] = 0; 00029 m_subpass[0] = m_subpass[1] = m_subpass[2] = m_subpass[3] = 0; 00030 m_totalpass = 0; 00031 00032 m_propMgr.declareProperty("CmsEnergy", m_ecms = 3.686); 00033 m_propMgr.declareProperty("Vr0Cut", m_vr0cut = 1.0); 00034 m_propMgr.declareProperty("Vz0Cut", m_vz0cut = 5.0); 00035 m_propMgr.declareProperty("PUpCut", m_pcut_up = 2.0); 00036 m_propMgr.declareProperty("PDownCut", m_pcut_down = 0.5); 00037 m_propMgr.declareProperty("PSymCut", m_psymcut = 0.5); 00038 m_propMgr.declareProperty("TCut", m_tcut = 4); 00039 m_propMgr.declareProperty("EUpCut", m_ecut_up = 1.0); 00040 m_propMgr.declareProperty("EDownCut", m_ecut_down = 0.1); 00041 m_propMgr.declareProperty("DThetaCut", m_dthetacut = 0.05); 00042 m_propMgr.declareProperty("DPhiCut", m_dphicut = 0.4); 00043 m_propMgr.declareProperty("PartSelect", m_partselect= 0); 00044 m_propMgr.declareProperty("MuDigiCut", m_mudigicut = 6); 00045 m_propMgr.declareProperty("MuTrkCut", m_mutrkcut = 1); 00046 00047 IJobOptionsSvc* jobSvc; 00048 Gaudi::svcLocator()->service("JobOptionsSvc", jobSvc); 00049 jobSvc->setMyProperties("DimuSelect", &m_propMgr); 00050 }
DimuPreSelect::~DimuPreSelect | ( | ) | [inline] |
void DimuPreSelect::BookNtuple | ( | NTuple::Tuple *& | tuple | ) |
Definition at line 52 of file DimuPreSelect.cxx.
References m_c1, m_c2, m_e1, m_e2, m_eBBFlag, m_eLimFlag, m_emcFlag, m_event, m_mdcFlag, m_mucFlag, m_mudigi, m_mudigiFlag, m_mutrk, m_mutrkFlag, m_output, m_p1, m_p2, m_part, m_partFlag, m_passtuple, m_phi1, m_phi2, m_pLimFlag, m_pSymFlag, m_r1, m_r2, m_run, m_t1, m_t2, m_theta1, m_theta2, m_tLimFlag, m_tofFlag, m_vtRZFlag, m_z1, m_z2, and m_zeroCFlag.
Referenced by EventPreSelect::initialize().
00053 { 00054 m_output=true; 00055 m_passtuple=tuple; 00056 if(!m_passtuple) { 00057 std::cerr << "invalid ntuple in DimuPreSelect!" << std::endl; 00058 } else { 00059 m_passtuple->addItem ("run", m_run); 00060 m_passtuple->addItem ("event", m_event); 00061 m_passtuple->addItem ("part", m_part); 00062 m_passtuple->addItem ("c1", m_c1); 00063 m_passtuple->addItem ("c2", m_c2); 00064 m_passtuple->addItem ("r1", m_r1); 00065 m_passtuple->addItem ("r2", m_r2); 00066 m_passtuple->addItem ("z1", m_z1); 00067 m_passtuple->addItem ("z2", m_z2); 00068 m_passtuple->addItem ("p1", m_p1); 00069 m_passtuple->addItem ("p2", m_p2); 00070 m_passtuple->addItem ("t1", m_t1); 00071 m_passtuple->addItem ("t2", m_t2); 00072 m_passtuple->addItem ("e1", m_e1); 00073 m_passtuple->addItem ("e2", m_e2); 00074 m_passtuple->addItem ("theta1",m_theta1); 00075 m_passtuple->addItem ("theta2",m_theta2); 00076 m_passtuple->addItem ("phi1", m_phi1); 00077 m_passtuple->addItem ("phi2", m_phi2); 00078 m_passtuple->addItem ("mudigi",m_mudigi); 00079 m_passtuple->addItem ("mutrk", m_mutrk); 00080 00081 m_passtuple->addItem ("zeroC", m_zeroCFlag); 00082 m_passtuple->addItem ("vtRZ", m_vtRZFlag); 00083 m_passtuple->addItem ("pLim", m_pLimFlag); 00084 m_passtuple->addItem ("pSym", m_pSymFlag); 00085 m_passtuple->addItem ("tLim", m_tLimFlag); 00086 m_passtuple->addItem ("eLim", m_eLimFlag); 00087 m_passtuple->addItem ("eBB", m_eBBFlag); 00088 m_passtuple->addItem ("partSlt",m_partFlag); 00089 m_passtuple->addItem ("muDigiN",m_mudigiFlag); 00090 m_passtuple->addItem ("muTrkN", m_mutrkFlag); 00091 00092 m_passtuple->addItem ("mdc", m_mdcFlag); 00093 m_passtuple->addItem ("tof", m_tofFlag); 00094 m_passtuple->addItem ("emc", m_emcFlag); 00095 m_passtuple->addItem ("muc", m_mucFlag); 00096 } 00097 }
StatusCode DimuPreSelect::execute | ( | ) |
Definition at line 149 of file DimuPreSelect.cxx.
References Bes_Common::FATAL, genRecEmupikp::i, Bes_Common::INFO, m_c1, m_c2, m_curevent, m_currun, m_cutpass, m_dphicut, m_dthetacut, m_e1, m_e2, m_eBBFlag, m_ecut_down, m_eLimFlag, m_emcFlag, m_emcPass, m_event, m_mdcFlag, m_mdcPass, m_mucFlag, m_mucPass, m_mudigi, m_mudigicut, m_mudigiFlag, m_mutrk, m_mutrkcut, m_mutrkFlag, m_output, m_p1, m_p2, m_part, m_partFlag, m_partselect, m_passFlag, m_passtuple, m_pcut_up, m_phi1, m_phi2, m_pLimFlag, m_psymcut, m_pSymFlag, m_r1, m_r2, m_run, m_selectFlag, m_subpass, m_t1, m_t2, m_tcut, m_theta1, m_theta2, m_tLimFlag, m_tofFlag, m_tofPass, m_totalpass, m_totevent, m_useFlag, m_vr0cut, m_vtRZFlag, m_vz0cut, m_z1, m_z2, m_zeroCFlag, msgSvc(), phi1, phi2, PI, theta1, and theta2.
00150 { 00151 if(m_selectFlag==false) return( StatusCode::SUCCESS ); 00152 00153 MsgStream log(msgSvc(),name()); 00154 log<<MSG::INFO<<"in execute()"<<endreq; 00155 00156 m_totevent ++; 00157 if(m_totevent%1000==0) std::cout << m_totevent << "\tdone!" <<std::endl; 00158 00159 setFilterPassed(false); 00160 m_mdcPass = m_tofPass = m_emcPass = m_mucPass = false; 00161 for(int i=0; i<4; i++) m_passFlag[i] = false; 00162 00163 SmartDataPtr<Event::EventHeader> eventHeader(eventSvc(),"/Event/EventHeader"); 00164 m_currun = eventHeader->runNumber(); 00165 m_curevent = eventHeader->eventNumber(); 00166 if( m_output ) { m_run = m_currun; m_event = m_curevent; } 00167 00168 // Select by MDC Info 00169 SmartDataPtr<RecMdcTrackCol> mdcTrackCol(eventSvc(),"/Event/Recon/RecMdcTrackCol"); 00170 if(!mdcTrackCol) { 00171 log << MSG::FATAL << "Could not find RecMdcTrackCol!" << endreq; 00172 return( StatusCode::FAILURE); 00173 } 00174 log << MSG::INFO << "MDC tracks:\t" << mdcTrackCol->size() << endreq; 00175 00176 if( mdcTrackCol->size() != 2 ) return ( StatusCode::SUCCESS ); 00177 00178 m_cutpass[0] += 1; 00179 00180 double c1, c2, r1, r2, z1, z2, p1, p2; 00181 c1 = c2 = r1 = r2 = z1 = z2 = p1 = p2 = 0.; 00182 00183 c1 = (*mdcTrackCol)[0]->charge(); c2 = (*mdcTrackCol)[1]->charge(); 00184 r1 = (*mdcTrackCol)[0]->r(); r2 = (*mdcTrackCol)[1]->r(); 00185 z1 = (*mdcTrackCol)[0]->z(); z2 = (*mdcTrackCol)[1]->z(); 00186 p1 = (*mdcTrackCol)[0]->p(); p2 = (*mdcTrackCol)[1]->p(); 00187 00188 if( m_output ) { m_c1 = c1; m_c2 = c2; m_r1 = r1; m_r2 = r2; m_z1 = z1; m_z2 = z2; m_p1 = p1; m_p2 = p2; } 00189 00190 bool mdcflag1 = c1 + c2 == 0; 00191 bool mdcflag2 = fabs(r1)<=m_vr0cut && fabs(z1)<m_vz0cut; 00192 bool mdcflag3 = fabs(r2)<=m_vr0cut && fabs(z2)<m_vz0cut; 00193 bool mdcflag4 = p1<m_pcut_up && p2<m_pcut_up; 00194 //bool mdcflag4 = p1<2 && p1>1; 00195 //bool mdcflag5 = p2<2 && p2>1; 00196 bool mdcflag5 = fabs( p1-p2 )/( p1+p2 ) < m_psymcut; 00197 00198 log << MSG::INFO << "r1:\t" << r1 << "\tz1:" << z1 << endreq; 00199 log << MSG::INFO << "r2:\t" << r2 << "\tz2:" << z2 << endreq; 00200 log << MSG::INFO << "p1:\t" << p1 << "\tp2:" << p2 << endreq; 00201 00202 if( mdcflag1 ) { m_cutpass[1] += 1; if(m_output) m_zeroCFlag = 1; } 00203 if( mdcflag2 && mdcflag3 ) { m_cutpass[2] += 1; if(m_output) m_vtRZFlag = 1; } 00204 if( mdcflag4 ) { m_cutpass[3] += 1; if(m_output) m_pLimFlag = 1; } 00205 if( mdcflag5 ) { m_cutpass[4] += 1; if(m_output) m_pSymFlag = 1; } 00206 if( mdcflag1 && mdcflag2 && mdcflag3 && mdcflag4 && mdcflag5 ) { m_mdcPass = true; m_subpass[0] += 1; } 00207 if( !m_useFlag[0] ) m_passFlag[0] = true; 00208 else m_passFlag[0] = m_mdcPass; 00209 log << MSG::INFO << "MDC selection done!" << endreq; 00210 00211 // Select by TOF Info 00212 SmartDataPtr<RecTofTrackCol> tofTrackCol(eventSvc(),"/Event/Recon/RecTofTrackCol"); 00213 if(!tofTrackCol) { 00214 log << MSG::FATAL << "Could not find RecTofTrackCol!" << endreq; 00215 return( StatusCode::FAILURE); 00216 } 00217 log << MSG::INFO << "TOF tracks:\t" << tofTrackCol->size() << endreq; 00218 00219 double t1, t2; 00220 t1 = 0., t2 = 1000; 00221 // if(tofTrackCol->size() < 8 && tofTrackCol->size() > 20) 00222 if(tofTrackCol->size() > 7 && tofTrackCol->size() < 21) 00223 { 00224 int goodtof = 0; 00225 for(int itof = 0; itof < tofTrackCol->size(); itof++) 00226 { 00227 TofHitStatus *status = new TofHitStatus; 00228 status->setStatus((*tofTrackCol)[itof]->status()); 00229 00230 if( !(status->is_cluster()) ) { delete status; continue; } 00231 if(goodtof==0) t1 = (*tofTrackCol)[itof]->tof(); 00232 if(goodtof==1) t2 = (*tofTrackCol)[itof]->tof(); 00233 00234 goodtof++; 00235 delete status; 00236 } 00237 } 00238 00239 if( m_output ) { m_t1 = t1; m_t2 = t2; } 00240 00241 bool tofflag1 = fabs( t1-t2 ) < m_tcut; // ns 00242 log << MSG::INFO << "t1:\t" << t1 << "\tt2:" << t2 << "dt:\t" << fabs(t1-t2) << endreq; 00243 if( tofflag1 ) { m_cutpass[5] += 1; if(m_output) m_tLimFlag = 1; m_tofPass = true; m_subpass[1] += 1; } 00244 if( !m_useFlag[1] ) m_passFlag[1] = true; 00245 else m_passFlag[1] = m_tofPass; 00246 log << MSG::INFO << "TOF selection done!" << endreq; 00247 00248 // Select by EMC Info 00249 SmartDataPtr<RecEmcShowerCol> emcShowerCol(eventSvc(),"/Event/Recon/RecEmcShowerCol"); 00250 if (!emcShowerCol) { 00251 log << MSG::FATAL << "Could not find RecEmcShowerCol!" << endreq; 00252 return( StatusCode::FAILURE); 00253 } 00254 log << MSG::INFO << "EMC showers:\t" << emcShowerCol->size() << endreq; 00255 00256 if( emcShowerCol->size() < 2 ) return ( StatusCode::SUCCESS ); 00257 00258 double e1, e2, theta1, theta2, phi1, phi2; 00259 int part; 00260 00261 e1 = (*emcShowerCol)[0]->energy(); e2 = (*emcShowerCol)[1]->energy(); 00262 theta1 = (*emcShowerCol)[0]->theta(); theta2 = (*emcShowerCol)[1]->theta(); 00263 phi1 = (*emcShowerCol)[0]->phi(); phi2 = (*emcShowerCol)[1]->phi(); 00264 part = (*emcShowerCol)[0]->module(); 00265 00266 if( m_output ) { m_e1 = e1; m_e2 = e2; m_theta1 = theta1; m_theta2 = theta2; m_phi1 = phi1; m_phi2 = phi2; 00267 m_part = part; 00268 } 00269 00270 bool emcFlag1 = e1 < m_ecut_up && e1 > m_ecut_down; 00271 bool emcFlag2 = e2 < m_ecut_up && e2 > m_ecut_down; 00272 bool emcFlag3 = fabs(theta1 + theta2 - PI) < m_dthetacut; 00273 bool emcFlag4 = fabs(phi1 - phi2) - PI < m_dphicut; 00274 bool emcFlag5 = !m_partselect || (m_partselect==1&&part==1) || (m_partselect==2&&part!=1); 00275 00276 log << MSG::INFO << "e1:\t" << e1 << "\te2:\t" << e2 << endreq; 00277 log << MSG::INFO << "theta1:\t" << theta1 << "\ttheta2:\t" << theta2 << endreq; 00278 log << MSG::INFO << "phi1:\t" << phi1 << "\tphi2:\t" << phi2 << endreq; 00279 log << MSG::INFO << "part:\t" << part << "\tpartFlag:\t" << emcFlag5 << endreq; 00280 00281 if( emcFlag1 && emcFlag2 ) { m_cutpass[6] += 1; if(m_output) m_eLimFlag = 1; } 00282 if( emcFlag3 && emcFlag4 ) { m_cutpass[7] += 1; if(m_output) m_eBBFlag = 1; } 00283 if( emcFlag5 ) { m_cutpass[8] += 1; if(m_output) m_partFlag = 1; } 00284 if( emcFlag1 && emcFlag2 && emcFlag3 && emcFlag4 && emcFlag5 ) { m_emcPass = true; m_subpass[2] += 1; } 00285 if( !m_useFlag[2] ) m_passFlag[2] = true; 00286 else m_passFlag[2] = m_emcPass; 00287 log << MSG::INFO << "EMC selection done!" << endreq; 00288 00289 // Select by MUC Info 00290 SmartDataPtr<MucDigiCol> mucDigiCol(eventSvc(),"/Event/Digi/MucDigiCol"); 00291 if(!mucDigiCol) { 00292 log << MSG::FATAL << "Could not find MucDigiCol!" << endreq; 00293 return( StatusCode::FAILURE); 00294 } 00295 SmartDataPtr<RecMucTrackCol> mucTrackCol(eventSvc(),"/Event/Recon/RecMucTrackCol"); 00296 if (!mucTrackCol) { 00297 log << MSG::FATAL << "Could not find RecMucTrackCol" << endreq; 00298 return( StatusCode::FAILURE); 00299 } 00300 00301 int mudigiNum, mutrkNum; 00302 mudigiNum = mutrkNum = 0; 00303 mudigiNum = mucDigiCol->size(); mutrkNum = mucTrackCol->size(); 00304 if(m_output) { m_mudigi = mudigiNum; m_mutrk = mutrkNum; } 00305 00306 bool mucflag1 = mudigiNum >= m_mudigicut; 00307 bool mucflag2 = mutrkNum >= m_mutrkcut; 00308 00309 log << MSG::INFO << "MUC digi:\t" << mudigiNum << "\tMUC track:\t" << mutrkNum << endreq; 00310 00311 if( mucflag1 ) { m_cutpass[9] += 1; if(m_output) m_mudigiFlag = 1; } 00312 if( mucflag2 ) { m_cutpass[10] += 1; if(m_output) m_mutrkFlag = 1; } 00313 if( mucflag1 && mucflag2 ) { m_mucPass = true; m_subpass[3] += 1; } 00314 if( !m_useFlag[3] ) m_passFlag[3] = true; 00315 else m_passFlag[3] = m_mucPass; 00316 log << MSG::INFO << "MUC selection done!" << endreq; 00317 00318 00319 // All selections 00320 if( m_passFlag[0] && m_passFlag[1] && m_passFlag[2] && m_passFlag[3] ) 00321 { 00322 m_totalpass += 1; 00323 setFilterPassed(true); 00324 } 00325 log << MSG::INFO << "Set filter passed!" << endreq; 00326 00327 if(m_output) { m_mdcFlag = m_mdcPass; m_tofFlag = m_tofPass; m_emcFlag = m_emcPass; m_mucFlag = m_mucPass; } 00328 00329 if( m_output ) m_passtuple->write(); 00330 00331 return StatusCode::SUCCESS; 00332 }
StatusCode DimuPreSelect::finalize | ( | ) |
Definition at line 334 of file DimuPreSelect.cxx.
References Bes_Common::INFO, m_cutpass, m_dphicut, m_dthetacut, m_ecut_down, m_ecut_up, m_mudigicut, m_mutrkcut, m_partselect, m_pcut_up, m_psymcut, m_selectFlag, m_subpass, m_tcut, m_totalpass, m_totevent, m_useFlag, m_vr0cut, m_vz0cut, msgSvc(), and deljobs::string.
00335 { 00336 if(m_selectFlag==false) return StatusCode::SUCCESS; 00337 00338 MsgStream log(msgSvc(), name()); 00339 log << MSG::INFO << "in finalize()" << endmsg; 00340 const string str[3] = {"all","barrel","endcap"}; 00341 00342 cout << "pass 0 - 2 MDC tracks : " << m_cutpass[0] << endl; 00343 cout << "pass 1 - 0 charge : " << m_cutpass[1] << endl; 00344 cout << "pass 2 - |r|<"<<m_vr0cut<<" && |z|<"<<m_vz0cut<<" : " << m_cutpass[2] << endl; 00345 cout << "pass 3 - p < "<<m_pcut_up<<" GeV/c : " << m_cutpass[3] << endl; 00346 cout << "pass 4 - p_sym < "<<m_psymcut<<" : " << m_cutpass[4] << endl; 00347 cout << "pass 5 - |t1-t1| < "<<m_tcut<<" ns : " << m_cutpass[5] << endl; 00348 cout << "pass 6 - "<<m_ecut_down<<" < e < "<<m_ecut_up<<" : " << m_cutpass[6] << endl; 00349 cout << "pass 7 - |dth|<"<<m_dthetacut<<" && |dphi|<"<<m_dphicut<<": " << m_cutpass[7] << endl; 00350 cout << "pass 8 - "<< str[(int)m_partselect] <<" part is selected : " << m_cutpass[8] << endl; 00351 cout << "pass 9 - mudigi >= "<<m_mudigicut<<" : " << m_cutpass[9] << endl; 00352 cout << "pass 10- mutrk >= "<<m_mutrkcut<<" : " << m_cutpass[10]<< endl; 00353 00354 cout << "pass MDC : " << m_subpass[0] << "\tUsed: " << (m_useFlag[0]?"Yes":"No") << endl; 00355 cout << "pass TOF : " << m_subpass[1] << "\tUsed: " << (m_useFlag[1]?"Yes":"No") << endl; 00356 cout << "pass EMC : " << m_subpass[2] << "\tUsed: " << (m_useFlag[2]?"Yes":"No") << endl; 00357 cout << "pass MUC : " << m_subpass[3] << "\tUsed: " << (m_useFlag[3]?"Yes":"No") << endl; 00358 00359 00360 cout<<"Total event: " << m_totevent <<endl; 00361 cout<<"Dimu event: " << m_totalpass <<endl; 00362 00363 return StatusCode::SUCCESS; 00364 }
StatusCode DimuPreSelect::initialize | ( | ) |
Definition at line 77 of file DimuPreSelect.cxx.
References calibUtil::ERROR, genRecEmupikp::i, Bes_Common::INFO, m_c1, m_c2, m_curevent, m_currun, m_cutpass, m_e1, m_e2, m_eBBFlag, m_eLimFlag, m_emcFlag, m_event, m_mdcFlag, m_mucFlag, m_mudigi, m_mudigiFlag, m_mutrk, m_mutrkFlag, m_output, m_p1, m_p2, m_part, m_partFlag, m_passtuple, m_phi1, m_phi2, m_pLimFlag, m_pSymFlag, m_r1, m_r2, m_run, m_subpass, m_t1, m_t2, m_theta1, m_theta2, m_tLimFlag, m_tofFlag, m_totalpass, m_totevent, m_vtRZFlag, m_z1, m_z2, m_zeroCFlag, msgSvc(), and ntupleSvc().
00078 { 00079 MsgStream log(msgSvc(), name()); 00080 log << MSG::INFO << "in initialize()" << endmsg; 00081 00082 m_totevent = m_currun = m_curevent = 0; 00083 for(int i = 0; i < 20; i++) m_cutpass[i] = 0; 00084 m_subpass[0] = m_subpass[1] = m_subpass[2] = m_subpass[3] = 0; 00085 m_totalpass = 0; 00086 00087 if(m_output) 00088 { 00089 StatusCode status; 00090 NTuplePtr nt(ntupleSvc(), "FILE1/dimu"); 00091 if ( nt ) m_passtuple = nt; 00092 else { 00093 m_passtuple = ntupleSvc()->book ("FILE1/dimu", CLID_ColumnWiseTuple, "DimuPreSelect N-Tuple example"); 00094 if ( m_passtuple ) 00095 { 00096 status =m_passtuple->addItem ("run", m_run); 00097 status =m_passtuple->addItem ("event", m_event); 00098 status =m_passtuple->addItem ("part", m_part); 00099 status =m_passtuple->addItem ("c1", m_c1); 00100 status =m_passtuple->addItem ("c2", m_c2); 00101 status =m_passtuple->addItem ("r1", m_r1); 00102 status =m_passtuple->addItem ("r2", m_r2); 00103 status =m_passtuple->addItem ("z1", m_z1); 00104 status =m_passtuple->addItem ("z2", m_z2); 00105 status =m_passtuple->addItem ("p1", m_p1); 00106 status =m_passtuple->addItem ("p2", m_p2); 00107 status =m_passtuple->addItem ("t1", m_t1); 00108 status =m_passtuple->addItem ("t2", m_t2); 00109 status =m_passtuple->addItem ("e1", m_e1); 00110 status =m_passtuple->addItem ("e2", m_e2); 00111 status =m_passtuple->addItem ("theta1",m_theta1); 00112 status =m_passtuple->addItem ("theta2",m_theta2); 00113 status =m_passtuple->addItem ("phi1", m_phi1); 00114 status =m_passtuple->addItem ("phi2", m_phi2); 00115 status =m_passtuple->addItem ("mudigi",m_mudigi); 00116 status =m_passtuple->addItem ("mutrk", m_mutrk); 00117 00118 status =m_passtuple->addItem ("zeroC", m_zeroCFlag); 00119 status =m_passtuple->addItem ("vtRZ", m_vtRZFlag); 00120 status =m_passtuple->addItem ("pLim", m_pLimFlag); 00121 status =m_passtuple->addItem ("pSym", m_pSymFlag); 00122 status =m_passtuple->addItem ("tLim", m_tLimFlag); 00123 status =m_passtuple->addItem ("eLim", m_eLimFlag); 00124 status =m_passtuple->addItem ("eBB", m_eBBFlag); 00125 status =m_passtuple->addItem ("partSlt",m_partFlag); 00126 status =m_passtuple->addItem ("muDigiN",m_mudigiFlag); 00127 status =m_passtuple->addItem ("muTrkN", m_mutrkFlag); 00128 00129 status =m_passtuple->addItem ("mdc", m_mdcFlag); 00130 status =m_passtuple->addItem ("tof", m_tofFlag); 00131 status =m_passtuple->addItem ("emc", m_emcFlag); 00132 status =m_passtuple->addItem ("muc", m_mucFlag); 00133 00134 } 00135 else 00136 { 00137 log << MSG::ERROR << "Cannot book N-tuple:"<<long(m_passtuple)<<endmsg; 00138 return StatusCode::FAILURE; 00139 } 00140 } 00141 } 00142 00143 log << MSG::INFO << "Initialize done!" << endmsg; 00144 00145 return StatusCode::SUCCESS; 00146 }
int DimuPreSelect::IsDimu | ( | ) |
Definition at line 99 of file DimuPreSelect.cxx.
References calibUtil::ERROR, Bes_Common::INFO, m_c1, m_c2, m_cutpass, m_dphicut, m_dthetacut, m_e1, m_e2, m_eBBFlag, m_ecut_down, m_eLimFlag, m_emcFlag, m_emcPass, m_mdcFlag, m_mdcPass, m_mucFlag, m_mucPass, m_mudigi, m_mudigicut, m_mudigiFlag, m_mutrk, m_mutrkcut, m_mutrkFlag, m_output, m_p1, m_p2, m_part, m_partFlag, m_partselect, m_passtuple, m_pcut_up, m_phi1, m_phi2, m_pLimFlag, m_psymcut, m_pSymFlag, m_r1, m_r2, m_subpass, m_t1, m_t2, m_tcut, m_theta1, m_theta2, m_tLimFlag, m_tofFlag, m_tofPass, m_totalpass, m_vr0cut, m_vtRZFlag, m_vz0cut, m_z1, m_z2, m_zeroCFlag, msgSvc(), phi1, phi2, pi, theta1, and theta2.
Referenced by EventPreSelect::execute().
00100 { 00101 IMessageSvc* msgSvc; 00102 Gaudi::svcLocator()->service("MessageSvc", msgSvc); 00103 MsgStream log(msgSvc, "DimuPreSelect"); 00104 00105 IDataProviderSvc* eventSvc; 00106 Gaudi::svcLocator()->service("EventDataSvc", eventSvc); 00107 00108 m_mdcPass = false; 00109 m_tofPass = false; 00110 m_emcPass = false; 00111 m_mucPass = false; 00112 00113 // Select by MDC Info 00114 SmartDataPtr<RecMdcTrackCol> mdcTrackCol(eventSvc,"/Event/Recon/RecMdcTrackCol"); 00115 if(!mdcTrackCol) { 00116 log << MSG::ERROR << "Could not find RecMdcTrackCol!" << endreq; 00117 return false; 00118 } 00119 log << MSG::INFO << "MDC tracks:\t" << mdcTrackCol->size() << endreq; 00120 00121 if( mdcTrackCol->size() != 2 ) return 0; 00122 00123 m_cutpass[0] += 1; 00124 00125 double c1, c2, r1, r2, z1, z2, p1, p2; 00126 c1 = c2 = r1 = r2 = z1 = z2 = p1 = p2 = 0.; 00127 00128 c1 = (*mdcTrackCol)[0]->charge(); c2 = (*mdcTrackCol)[1]->charge(); 00129 r1 = (*mdcTrackCol)[0]->r(); r2 = (*mdcTrackCol)[1]->r(); 00130 z1 = (*mdcTrackCol)[0]->z(); z2 = (*mdcTrackCol)[1]->z(); 00131 p1 = (*mdcTrackCol)[0]->p(); p2 = (*mdcTrackCol)[1]->p(); 00132 00133 00134 bool mdcflag1 = c1 + c2 == 0; 00135 bool mdcflag2 = fabs(r1)<=m_vr0cut && fabs(z1)<m_vz0cut; 00136 bool mdcflag3 = fabs(r2)<=m_vr0cut && fabs(z2)<m_vz0cut; 00137 bool mdcflag4 = p1<m_pcut_up && p2<m_pcut_up; 00138 //bool mdcflag4 = p1<2 && p1>1; 00139 //bool mdcflag5 = p2<2 && p2>1; 00140 bool mdcflag5 = fabs( p1-p2 )/( p1+p2 ) < m_psymcut; 00141 00142 log << MSG::INFO << "r1:\t" << r1 << "\tz1:" << z1 << endreq; 00143 log << MSG::INFO << "r2:\t" << r2 << "\tz2:" << z2 << endreq; 00144 log << MSG::INFO << "p1:\t" << p1 << "\tp2:" << p2 << endreq; 00145 00146 double zeroCFlag,vtRZFlag,pLimFlag,pSymFlag; 00147 if( mdcflag1 ) { m_cutpass[1] += 1; zeroCFlag = 1; } 00148 if( mdcflag2 && mdcflag3 ) { m_cutpass[2] += 1; vtRZFlag = 1; } 00149 if( mdcflag4 ) { m_cutpass[3] += 1; pLimFlag = 1; } 00150 if( mdcflag5 ) { m_cutpass[4] += 1; pSymFlag = 1; } 00151 00152 if( mdcflag1 && mdcflag2 && mdcflag3 && mdcflag4 && mdcflag5 ) { m_mdcPass = true; m_subpass[0] += 1; } 00153 log << MSG::INFO << "MDC selection done!" << endreq; 00154 00155 // Select by TOF Info 00156 SmartDataPtr<RecTofTrackCol> tofTrackCol(eventSvc,"/Event/Recon/RecTofTrackCol"); 00157 if(!tofTrackCol) { 00158 log << MSG::ERROR << "Could not find RecTofTrackCol!" << endreq; 00159 return 0; 00160 } 00161 log << MSG::INFO << "TOF tracks:\t" << tofTrackCol->size() << endreq; 00162 00163 double t1, t2; 00164 t1 = 0., t2 = 1000; 00165 // if(tofTrackCol->size() < 8 && tofTrackCol->size() > 20) 00166 if(tofTrackCol->size() > 7 && tofTrackCol->size() < 21) 00167 { 00168 int goodtof = 0; 00169 for(int itof = 0; itof < tofTrackCol->size(); itof++) 00170 { 00171 TofHitStatus *status = new TofHitStatus; 00172 status->setStatus((*tofTrackCol)[itof]->status()); 00173 00174 if( !(status->is_cluster()) ) { delete status; continue; } 00175 if(goodtof==0) t1 = (*tofTrackCol)[itof]->tof(); 00176 if(goodtof==1) t2 = (*tofTrackCol)[itof]->tof(); 00177 00178 goodtof++; 00179 delete status; 00180 } 00181 } 00182 00183 double tLimFlag; 00184 bool tofflag1 = fabs( t1-t2 ) < m_tcut; // ns 00185 log << MSG::INFO << "t1:\t" << t1 << "\tt2:" << t2 << "dt:\t" << fabs(t1-t2) << endreq; 00186 if( tofflag1 ) { m_cutpass[5] += 1; tLimFlag = 1; m_tofPass = true; m_subpass[1] += 1; } 00187 log << MSG::INFO << "TOF selection done!" << endreq; 00188 00189 // Select by EMC Info 00190 SmartDataPtr<RecEmcShowerCol> emcShowerCol(eventSvc,"/Event/Recon/RecEmcShowerCol"); 00191 if (!emcShowerCol) { 00192 log << MSG::ERROR << "Could not find RecEmcShowerCol!" << endreq; 00193 return 0; 00194 } 00195 log << MSG::INFO << "EMC showers:\t" << emcShowerCol->size() << endreq; 00196 00197 if( emcShowerCol->size() < 2 ) return 0; 00198 00199 double e1, e2, theta1, theta2, phi1, phi2; 00200 int part; 00201 00202 e1 = (*emcShowerCol)[0]->energy(); e2 = (*emcShowerCol)[1]->energy(); 00203 theta1 = (*emcShowerCol)[0]->theta(); theta2 = (*emcShowerCol)[1]->theta(); 00204 phi1 = (*emcShowerCol)[0]->phi(); phi2 = (*emcShowerCol)[1]->phi(); 00205 part = (*emcShowerCol)[0]->module(); 00206 00207 bool emcFlag1 = e1 < m_ecut_up && e1 > m_ecut_down; 00208 bool emcFlag2 = e2 < m_ecut_up && e2 > m_ecut_down; 00209 bool emcFlag3 = fabs(theta1 + theta2 - CLHEP::pi) < m_dthetacut; 00210 bool emcFlag4 = fabs(phi1 - phi2) - CLHEP::pi < m_dphicut; 00211 bool emcFlag5 = !m_partselect || (m_partselect==1&&part==1) || (m_partselect==2&&part!=1); 00212 00213 log << MSG::INFO << "e1:\t" << e1 << "\te2:\t" << e2 << endreq; 00214 log << MSG::INFO << "theta1:\t" << theta1 << "\ttheta2:\t" << theta2 << endreq; 00215 log << MSG::INFO << "phi1:\t" << phi1 << "\tphi2:\t" << phi2 << endreq; 00216 log << MSG::INFO << "part:\t" << part << "\tpartFlag:\t" << emcFlag5 << endreq; 00217 00218 double eLimFlag,eBBFlag,partFlag; 00219 if( emcFlag1 && emcFlag2 ) { m_cutpass[6] += 1; eLimFlag = 1; } 00220 if( emcFlag3 && emcFlag4 ) { m_cutpass[7] += 1; eBBFlag = 1; } 00221 if( emcFlag5 ) { m_cutpass[8] += 1; partFlag = 1; } 00222 if( emcFlag1 && emcFlag2 && emcFlag3 && emcFlag4 && emcFlag5 ) { m_emcPass = true; m_subpass[2] += 1; } 00223 log << MSG::INFO << "EMC selection done!" << endreq; 00224 00225 // Select by MUC Info 00226 SmartDataPtr<MucDigiCol> mucDigiCol(eventSvc,"/Event/Digi/MucDigiCol"); 00227 if(!mucDigiCol) { 00228 log << MSG::ERROR << "Could not find MucDigiCol!" << endreq; 00229 return 0; 00230 } 00231 SmartDataPtr<RecMucTrackCol> mucTrackCol(eventSvc,"/Event/Recon/RecMucTrackCol"); 00232 if (!mucTrackCol) { 00233 log << MSG::ERROR << "Could not find RecMucTrackCol" << endreq; 00234 return 0; 00235 } 00236 00237 int mudigiNum, mutrkNum; 00238 mudigiNum = mutrkNum = 0; 00239 mudigiNum = mucDigiCol->size(); mutrkNum = mucTrackCol->size(); 00240 00241 bool mucflag1 = mudigiNum >= m_mudigicut; 00242 bool mucflag2 = mutrkNum >= m_mutrkcut; 00243 00244 log << MSG::INFO << "MUC digi:\t" << mudigiNum << "\tMUC track:\t" << mutrkNum << endreq; 00245 00246 double mudigiFlag,mutrkFlag; 00247 if( mucflag1 ) { m_cutpass[9] += 1; mudigiFlag = 1; } 00248 if( mucflag2 ) { m_cutpass[10] += 1; mutrkFlag = 1; } 00249 if( mucflag1 && mucflag2 ) { m_mucPass = true; m_subpass[3] += 1; } 00250 log << MSG::INFO << "MUC selection done!" << endreq; 00251 00252 if(m_output) { 00253 m_c1 = c1; m_c2 = c2; m_r1 = r1; m_r2 = r2; m_z1 = z1; m_z2 = z2; m_p1 = p1; m_p2 = p2; 00254 m_t1 = t1; m_t2 = t2; 00255 m_e1 = e1; m_e2 = e2; m_theta1 = theta1; m_theta2 = theta2; m_phi1 = phi1; m_phi2 = phi2; 00256 m_part = part; 00257 m_mudigi = mudigiNum; m_mutrk = mutrkNum; 00258 m_zeroCFlag = zeroCFlag; m_vtRZFlag = vtRZFlag; m_pLimFlag = pLimFlag; m_pSymFlag = pSymFlag; 00259 m_tLimFlag = tLimFlag; m_eLimFlag = eLimFlag; m_eBBFlag = eBBFlag; m_partFlag = partFlag; 00260 m_mudigiFlag = mudigiFlag; m_mutrkFlag = mutrkFlag; 00261 00262 m_mdcFlag = m_mdcPass; m_tofFlag = m_tofPass; m_emcFlag = m_emcPass; m_mucFlag = m_mucPass; 00263 00264 m_passtuple->write(); 00265 } 00266 00267 // All selections 00268 if( m_mdcPass && m_tofPass && m_emcPass && m_mucPass ) 00269 { 00270 m_totalpass += 1; 00271 if( part==1 ) return 1; //barrel 00272 else return 2; //endcap 00273 //setFilterPassed(true); 00274 } 00275 00276 return 0; 00277 00278 }
void DimuPreSelect::Print | ( | ) |
Definition at line 280 of file DimuPreSelect.cxx.
References m_cutpass, m_dphicut, m_dthetacut, m_ecut_down, m_ecut_up, m_mudigicut, m_mutrkcut, m_partselect, m_pcut_up, m_psymcut, m_subpass, m_tcut, m_totalpass, m_totevent, m_vr0cut, m_vz0cut, and deljobs::string.
Referenced by EventPreSelect::finalize().
00281 { 00282 const string str[3] = {"all","barrel","endcap"}; 00283 00284 cout << "pass 0 - 2 MDC tracks : " << m_cutpass[0] << endl; 00285 cout << "pass 1 - 0 charge : " << m_cutpass[1] << endl; 00286 cout << "pass 2 - |r|<"<<m_vr0cut<<" && |z|<"<<m_vz0cut<<" : " << m_cutpass[2] << endl; 00287 cout << "pass 3 - p < "<<m_pcut_up<<" GeV/c : " << m_cutpass[3] << endl; 00288 cout << "pass 4 - p_sym < "<<m_psymcut<<" : " << m_cutpass[4] << endl; 00289 cout << "pass 5 - |t1-t1| < "<<m_tcut<<" ns : " << m_cutpass[5] << endl; 00290 cout << "pass 6 - "<<m_ecut_down<<" < e < "<<m_ecut_up<<" : " << m_cutpass[6] << endl; 00291 cout << "pass 7 - |dth|<"<<m_dthetacut<<" && |dphi|<"<<m_dphicut<<": " << m_cutpass[7] << endl; 00292 cout << "pass 8 - "<< str[(int)m_partselect] <<" part is selected : " << m_cutpass[8] << endl; 00293 cout << "pass 9 - mudigi >= "<<m_mudigicut<<" : " << m_cutpass[9] << endl; 00294 cout << "pass 10- mutrk >= "<<m_mutrkcut<<" : " << m_cutpass[10]<< endl; 00295 00296 cout << "pass MDC : " << m_subpass[0] << endl; 00297 cout << "pass TOF : " << m_subpass[1] << endl; 00298 cout << "pass EMC : " << m_subpass[2] << endl; 00299 cout << "pass MUC : " << m_subpass[3] << endl; 00300 00301 cout<<"Total event: " << m_totevent <<endl; 00302 cout<<"Dimu event: " << m_totalpass <<endl; 00303 }
NTuple::Item<double> DimuPreSelect::m_c1 [private] |
Definition at line 53 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_c1 [private] |
Definition at line 49 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_c2 [private] |
Definition at line 54 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_c2 [private] |
Definition at line 50 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
long DimuPreSelect::m_curevent [private] |
Definition at line 24 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), execute(), and initialize().
long DimuPreSelect::m_currun [private] |
Definition at line 23 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), execute(), and initialize().
double DimuPreSelect::m_cutpass [private] |
Definition at line 40 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), execute(), finalize(), initialize(), IsDimu(), and Print().
double DimuPreSelect::m_dphicut [private] |
Definition at line 35 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), execute(), finalize(), IsDimu(), and Print().
double DimuPreSelect::m_dthetacut [private] |
Definition at line 34 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), execute(), finalize(), IsDimu(), and Print().
NTuple::Item<double> DimuPreSelect::m_e1 [private] |
Definition at line 63 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_e1 [private] |
Definition at line 59 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_e2 [private] |
Definition at line 64 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_e2 [private] |
Definition at line 60 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_eBBFlag [private] |
Definition at line 77 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_eBBFlag [private] |
Definition at line 73 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
double DimuPreSelect::m_ecms [private] |
double DimuPreSelect::m_ecut_down [private] |
Definition at line 33 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), execute(), finalize(), IsDimu(), and Print().
double DimuPreSelect::m_ecut_up [private] |
Definition at line 32 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), finalize(), and Print().
NTuple::Item<double> DimuPreSelect::m_eLimFlag [private] |
Definition at line 76 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_eLimFlag [private] |
Definition at line 72 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_emcFlag [private] |
Definition at line 83 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_emcFlag [private] |
Definition at line 79 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
bool DimuPreSelect::m_emcPass [private] |
NTuple::Item<double> DimuPreSelect::m_event [private] |
Definition at line 51 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_event [private] |
Definition at line 47 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), and initialize().
NTuple::Item<double> DimuPreSelect::m_mdcFlag [private] |
Definition at line 81 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_mdcFlag [private] |
Definition at line 77 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
bool DimuPreSelect::m_mdcPass [private] |
NTuple::Item<double> DimuPreSelect::m_mucFlag [private] |
Definition at line 84 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_mucFlag [private] |
Definition at line 80 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
bool DimuPreSelect::m_mucPass [private] |
NTuple::Item<double> DimuPreSelect::m_mudigi [private] |
Definition at line 69 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_mudigi [private] |
Definition at line 65 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
double DimuPreSelect::m_mudigicut [private] |
Definition at line 37 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), execute(), finalize(), IsDimu(), and Print().
NTuple::Item<double> DimuPreSelect::m_mudigiFlag [private] |
Definition at line 79 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_mudigiFlag [private] |
Definition at line 75 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_mutrk [private] |
Definition at line 70 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_mutrk [private] |
Definition at line 66 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
double DimuPreSelect::m_mutrkcut [private] |
Definition at line 38 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), execute(), finalize(), IsDimu(), and Print().
NTuple::Item<double> DimuPreSelect::m_mutrkFlag [private] |
Definition at line 80 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_mutrkFlag [private] |
Definition at line 76 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
bool DimuPreSelect::m_output [private] |
Definition at line 17 of file DimuPreSelect.h.
Referenced by BookNtuple(), DimuPreSelect(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_p1 [private] |
Definition at line 59 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_p1 [private] |
Definition at line 55 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_p2 [private] |
Definition at line 60 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_p2 [private] |
Definition at line 56 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_part [private] |
Definition at line 52 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_part [private] |
Definition at line 48 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_partFlag [private] |
Definition at line 78 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_partFlag [private] |
Definition at line 74 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
double DimuPreSelect::m_partselect [private] |
Definition at line 36 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), execute(), finalize(), IsDimu(), and Print().
bool DimuPreSelect::m_passFlag[4] [private] |
NTuple::Tuple* DimuPreSelect::m_passtuple [private] |
Definition at line 49 of file DimuPreSelect.h.
NTuple::Tuple* DimuPreSelect::m_passtuple [private] |
Definition at line 45 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
double DimuPreSelect::m_pcut_down [private] |
double DimuPreSelect::m_pcut_up [private] |
Definition at line 28 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), execute(), finalize(), IsDimu(), and Print().
NTuple::Item<double> DimuPreSelect::m_phi1 [private] |
Definition at line 67 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_phi1 [private] |
Definition at line 63 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_phi2 [private] |
Definition at line 68 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_phi2 [private] |
Definition at line 64 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_pLimFlag [private] |
Definition at line 73 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_pLimFlag [private] |
Definition at line 69 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
PropertyMgr DimuPreSelect::m_propMgr [private] |
double DimuPreSelect::m_psymcut [private] |
Definition at line 30 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), execute(), finalize(), IsDimu(), and Print().
NTuple::Item<double> DimuPreSelect::m_pSymFlag [private] |
Definition at line 74 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_pSymFlag [private] |
Definition at line 70 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_r1 [private] |
Definition at line 55 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_r1 [private] |
Definition at line 51 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_r2 [private] |
Definition at line 56 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_r2 [private] |
Definition at line 52 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_run [private] |
Definition at line 50 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_run [private] |
Definition at line 46 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), and initialize().
bool DimuPreSelect::m_selectFlag [private] |
Definition at line 16 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), execute(), and finalize().
double DimuPreSelect::m_subpass [private] |
Definition at line 41 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), execute(), finalize(), initialize(), IsDimu(), and Print().
NTuple::Item<double> DimuPreSelect::m_t1 [private] |
Definition at line 61 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_t1 [private] |
Definition at line 57 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_t2 [private] |
Definition at line 62 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_t2 [private] |
Definition at line 58 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
double DimuPreSelect::m_tcut [private] |
Definition at line 31 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), execute(), finalize(), IsDimu(), and Print().
NTuple::Item<double> DimuPreSelect::m_theta1 [private] |
Definition at line 65 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_theta1 [private] |
Definition at line 61 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_theta2 [private] |
Definition at line 66 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_theta2 [private] |
Definition at line 62 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_tLimFlag [private] |
Definition at line 75 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_tLimFlag [private] |
Definition at line 71 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_tofFlag [private] |
Definition at line 82 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_tofFlag [private] |
Definition at line 78 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
bool DimuPreSelect::m_tofPass [private] |
double DimuPreSelect::m_totalpass [private] |
Definition at line 42 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), execute(), finalize(), initialize(), IsDimu(), and Print().
long DimuPreSelect::m_totevent [private] |
Definition at line 22 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), execute(), finalize(), initialize(), and Print().
bool DimuPreSelect::m_useFlag[4] [private] |
Definition at line 19 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), execute(), and finalize().
double DimuPreSelect::m_vr0cut [private] |
Definition at line 26 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), execute(), finalize(), IsDimu(), and Print().
NTuple::Item<double> DimuPreSelect::m_vtRZFlag [private] |
Definition at line 72 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_vtRZFlag [private] |
Definition at line 68 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
double DimuPreSelect::m_vz0cut [private] |
Definition at line 27 of file DimuPreSelect.h.
Referenced by DimuPreSelect(), execute(), finalize(), IsDimu(), and Print().
NTuple::Item<double> DimuPreSelect::m_z1 [private] |
Definition at line 57 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_z1 [private] |
Definition at line 53 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_z2 [private] |
Definition at line 58 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_z2 [private] |
Definition at line 54 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().
NTuple::Item<double> DimuPreSelect::m_zeroCFlag [private] |
Definition at line 71 of file DimuPreSelect.h.
NTuple::Item<double> DimuPreSelect::m_zeroCFlag [private] |
Definition at line 67 of file DimuPreSelect.h.
Referenced by BookNtuple(), execute(), initialize(), and IsDimu().