ATLAS Offline Software
Loading...
Searching...
No Matches
CutsMETMaker Namespace Reference

Functions

StatusCode accept (const xAOD::Muon *mu)
StatusCode accept (const xAOD::Electron *mu)
StatusCode accept (const xAOD::Photon *mu)
StatusCode accept (const xAOD::TauJet *mu)

Function Documentation

◆ accept() [1/4]

StatusCode CutsMETMaker::accept ( const xAOD::Electron * mu)

Definition at line 45 of file CutsMETMaker.cxx.

46{
47
48 //ATH_MSG_VERBOSE("Test electron quality."
49 // << " pT = " << el->pt()
50 // << " eta = " << el->eta()
51 // << " phi = " << el->phi());
52
53 bool testPID = 0;
54 el->passSelection(testPID,"Medium");
55 //ATH_MSG_VERBOSE("Electron PID \"Medium\" tests " << (testPID ? " GOOD" : "BAD") );
56 if( !testPID ) return StatusCode::FAILURE;
57
58 //ATH_MSG_VERBOSE("Electron author = " << el->author() << " test " << (el->author()&17));
59 if( !(el->author()&17) ) return StatusCode::FAILURE;
60
61 if( el->pt()<10e3 ) return StatusCode::FAILURE;
62 if( fabs(el->eta())>2.47 ) return StatusCode::FAILURE;
63
64 // if( m_el_rejectCrack ) {
65 // if( fabs(el->eta())>1.37 &&
66 // fabs(el->eta())<1.52 ) return StatusCode::FAILURE;
67 // }
68
69 //ATH_MSG_VERBOSE("CutMETMaker::Accepted this electron");
70
71 return StatusCode::SUCCESS;
72}

◆ accept() [2/4]

StatusCode CutsMETMaker::accept ( const xAOD::Muon * mu)

Definition at line 18 of file CutsMETMaker.cxx.

19{
20
21 if(mu->pt()<2.5e3 || mu->pt()/cosh(mu->eta())<4e3) return StatusCode::FAILURE;
22 if(mu->muonType()==xAOD::Muon::MuonType::MuonStandAlone) {
23 // only take forward SA -- need a max eta cut?
24 if(fabs(mu->eta())<2.5) return StatusCode::FAILURE;
25 uint8_t nPrecision=0;
26 mu->trackParticle(xAOD::Muon::TrackParticleType::Primary)->summaryValue(nPrecision,xAOD::numberOfPrecisionLayers);
27 if(nPrecision<3) return StatusCode::FAILURE;
28 } // selection for StandAlone muons
29 else if(mu->muonType()==xAOD::Muon::MuonType::Combined || mu->muonType()==xAOD::Muon::MuonType::SegmentTagged) {
30 if(fabs(mu->eta())>2.5) return StatusCode::FAILURE;
31
32 // could add some error checking to make sure we successfully read the details
33 uint8_t nPixHits{0}, nSctHits{0};
34 mu->trackParticle(xAOD::Muon::TrackParticleType::Primary)->summaryValue(nPixHits,xAOD::numberOfPixelHits);
35 mu->trackParticle(xAOD::Muon::TrackParticleType::Primary)->summaryValue(nSctHits,xAOD::numberOfSCTHits);
36
37 if(nPixHits<3) return StatusCode::FAILURE;
38 if(nPixHits+nSctHits<5) return StatusCode::FAILURE;
39 } // selection for SegmentTagged and Combined muons
40 else {return StatusCode::FAILURE;} // don't CutMETMaker::accept forward muons or calo tagged
41
42 return StatusCode::SUCCESS;
43}
@ numberOfPrecisionLayers
layers with at least 3 hits [unit8_t].
@ numberOfSCTHits
number of hits in SCT [unit8_t].
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].

◆ accept() [3/4]

StatusCode CutsMETMaker::accept ( const xAOD::Photon * mu)

Definition at line 74 of file CutsMETMaker.cxx.

75{
76
77 //ATH_MSG_VERBOSE("Test photon quality."
78 // << " pT = " << ph->pt()
79 // << " eta = " << ph->eta()
80 // << " phi = " << ph->phi());
81
82 bool testPID = 0;
83 ph->passSelection(testPID,"Tight");
84 //ATH_MSG_VERBOSE("Photon PID \"Tight\" tests " << (testPID ? " GOOD" : "BAD") );
85 if( !testPID ) return StatusCode::FAILURE;
86
87 //ATH_MSG_VERBOSE("Photon author = " << ph->author() << " test " << (ph->author()&20));
88 if( !(ph->author()&20) ) return StatusCode::FAILURE;
89
90 if( ph->pt()<10e3 ) return StatusCode::FAILURE;
91 if( fabs(ph->eta())>2.47 ) return StatusCode::FAILURE;
92
93 //ATH_MSG_VERBOSE("CutMETMaker::Accepted this photon");
94
95 return StatusCode::SUCCESS;
96}

◆ accept() [4/4]

StatusCode CutsMETMaker::accept ( const xAOD::TauJet * mu)

Definition at line 98 of file CutsMETMaker.cxx.

99{
100 //ATH_MSG_VERBOSE("Testing tau with pt " << tau->pt() << ", eta " << tau->eta());
101 //ATH_MSG_VERBOSE("Tau ID discriminants:"
102 // << " jet " << tau->discriminant(xAOD::TauJetParameters::BDTJetScore)
103 // << " el " << tau->discriminant(xAOD::TauJetParameters::BDTEleScore)
104 // << " mu " << tau->flag(xAOD::TauJetParameters::MuonFlag));
105
106 if(tau->pt()<20e3 || fabs(tau->eta())>2.5) return StatusCode::FAILURE;
107 // need to accommodate more than one of these?
108 if(!tau->isTau( xAOD::TauJetParameters::IsTauFlag(xAOD::TauJetParameters::JetRNNSigMedium) )) return StatusCode::FAILURE;
109 if(tau->isTau( xAOD::TauJetParameters::IsTauFlag(xAOD::TauJetParameters::EleRNNMedium) )) return StatusCode::FAILURE;
110 if(tau->isTau( xAOD::TauJetParameters::IsTauFlag(xAOD::TauJetParameters::MuonVeto) )) return StatusCode::FAILURE;
111
112 return StatusCode::SUCCESS;
113}
IsTauFlag
Enum for IsTau flags.
Definition TauDefs.h:116