14#ifdef XAODTRACKING_TRACKPARTICLE_H
20 double sintheta = std::sin( 2*std::atan(std::exp(-elec.
eta())) );
21 double et = elec.
e()*sintheta;
22 if ( std::fabs(
et)<ETOffline )
return false;
38 if (
muon.muonType() != xAOD::Muon::MuonType::Combined )
return false;
40 bool good_muon =
false;
46 if (
selection == 1 ) good_muon = (
muon.quality()<=xAOD::Muon::Quality::Tight);
47 else if (
selection == 2 ) good_muon = (
muon.quality()<=xAOD::Muon::Quality::Medium);
48 else if (
selection == 3 ) good_muon = (
muon.quality()<=xAOD::Muon::Quality::Loose);
49 else if (
selection == 4 ) good_muon = (
muon.quality()<=xAOD::Muon::Quality::VeryLoose);
50 else good_muon =
true;
64 TLorentzVector TauTLV = tau.
p4();
65 double eta_Tau = TauTLV.Eta();
66 double et_Tau = TauTLV.Et();
68 if ( std::fabs(eta_Tau)>2.47 )
return false;
69 if ( std::fabs(et_Tau)<EtCutOffline )
return false;
73#ifdef XAODTRACKING_TRACKPARTICLE_H
74#ifndef XAODTAU_VERSIONS_TAUJET_V3_H
83 int Ntracks = tau.numTrack();
87 bool good_tau =
false;
100 else good_tau =
true;
108 if ( requireNtracks>0 && Ntracks!=requireNtracks )
return false;
135 if (!muon.isLoose()) {
141 if (muon.hasInDetTrackParticle()) {
144 if (!summary)
return false;
154 nPixelHits += numberOfPixelDeadSensors;
155 if (nPixelHits < 2)
return false;
160 nSCTHits += numberOfSCTDeadSensors;
161 if (nSCTHits < 6)
return false;
164 int numberOfPixelHoles=muon.numberOfPixelHoles();
165 int numberOfSCTHoles=muon.numberOfSCTHoles();
166 if ( numberOfPixelHoles+numberOfSCTHoles > 2)
return false;
168 float etaTrack = fabs(idTrack->
eta());
172 if (etaTrack < 1.9) {
173 if ((nTrtHits + nTrtOutliers) < 5 )
return false;
174 if (nTrtOutliers >= (0.9 * (nTrtHits + nTrtOutliers)))
return false;
176 if ((nTrtHits + nTrtOutliers) > 5) {
177 if (nTrtOutliers >= (0.9 * (nTrtHits + nTrtOutliers)))
return false;
187bool TIDA::isGoodOffline(
const Analysis::TauJet& tau,
const bool doThreeProng,
const double EtCutOffline) {
189 bool id_flag =
false;
191 bool threeprong = ( tau.numTrack() == 3 && tau.tauID()->isTau(TauJetParameters::JetBDTSigMedium) );
192 id_flag = threeprong;
195 bool oneprong = ( tau.numTrack() == 1 && tau.tauID()->isTau(TauJetParameters::JetBDTSigMedium) );
200 if (tau.et() < EtCutOffline)
return false;
201 if (tau.eta() > 2.47)
return false;
202 if (tau.tauID()->isTau(TauJetParameters::EleBDTMedium) )
return false;
203 if (tau.tauID()->isTau(TauJetParameters::MuonVeto) )
return false;
204 if (fabs(tau.charge())!=1)
return false;
The ATLAS Muon object - see doxygen, physics workbookd and the Muon Combined Performance WG's pages f...
virtual double eta() const =0
pseudo rapidity
const TrackSummary * trackSummary() const
accessor function for TrackSummary.
A summary of the information contained by a track.
unsigned int isem(unsigned int mask=egammaPIDObs::ALL, egammaPIDObs::PID pid=egammaPIDObs::IsEM) const
ID flag with cuts, 0:e, >1:jet.
const Rec::TrackParticle * trackParticle(unsigned int index=0) const
pointer to TrackParticle
unsigned int author() const
Reconstruction Author.
virtual double e() const override
The total energy of the particle.
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
bool passSelection(bool &value, const std::string &menu) const
Check if the egamma object pass a selection menu (using the name) If the menu decision is stored in t...
virtual FourMom_t p4() const
The full 4-momentum of the particle.
bool detail(TauJetParameters::Detail detail, int &value) const
Get and set values of common details variables via enum.
bool isTau(TauJetParameters::IsTauFlag flag) const
Get Flag for tau acceptance based on predefined arbitrary criteria.
size_t nTracks(TauJetParameters::TauTrackFlag flag=TauJetParameters::TauTrackFlag::classifiedCharged) const
const std::string selection
bool isGoodOffline(const Analysis::Electron &elec)
@ numberOfSCTHits
number of SCT holes
@ numberOfPixelHits
number of pixel layers on track with absence of hits
@ numberOfTRTOutliers
number of TRT holes
@ numberOfTRTHits
number of TRT outliers
@ numberOfSCTDeadSensors
number of TRT hits
@ numberOfPixelDeadSensors
number of pixel hits with broad errors (width/sqrt(12))
const unsigned int ElectronMediumPP
Medium++ electron selecton.
TauJet_v3 TauJet
Definition of the current "tau version".
Muon_v1 Muon
Reference the current persistent version:
Electron_v1 Electron
Definition of the current "egamma version".
Extra patterns decribing particle interation process.