|
ATLAS Offline Software
|
#include <MuonSelector.h>
|
template<class T > |
static CLHEP::Hep3Vector | calculateMomentum (const T *pP) |
|
template<class T > |
static float | EvalInvMass (const T *pxP1, const T *pxP2, float fMass1, float fMass2=invalidAnswer) |
|
template<class T > |
static float | EvalInvMass (const T *pxP1, const T *pxP2, const T *pxp3, const T *pxP4, float fMass1, float fMass2=-999.9, float fMass3=-999.9, float fMass4=invalidAnswer) |
|
template<class T > |
static float | EvalDiMuInvMass (const T *pxP1, const T *pxP2) |
|
template<class T > |
static float | EvalFourMuInvMass (const T *pxP1, const T *pxP2, const T *pxP3, const T *pxP4) |
|
template<class T > |
static float | EvaluateAngle (const T *pxP1, const T *pxP2) |
|
template<class T > |
static float | EvalPtDiff (const T *pxP1, const T *pxP2) |
|
template<class T > |
static float | EvalPhiDiff (const T *pxP1, const T *pxP2) |
|
template<class T > |
static float | EvalEtaDiff (const T *pxP1, const T *pxP2) |
|
template<class T > |
static float | EvalPt (const T *pxP1, const T *pxP2) |
|
template<class T > |
static float | EvalPhi (const T *pxP1, const T *pxP2) |
|
template<class T > |
static float | EvalEta (const T *pxP1, const T *pxP2) |
|
template<class T > |
static float | EvalCharge (const T *pxP1, const T *pxP2) |
|
template<class T > |
static float | EvalTransverseMass (const T *pxP1, float fMETx, float fMETy, float fMass1, float fMass2=invalidAnswer) |
|
template<class T > |
static float | EvalTransverseMass (const T *pxP1, float fMETx, float fMETy) |
|
template<class T > |
static float | EvalTransverseMass (const T *pxP1, const T *pxP2, float fMETx, float fMETy, float fMass1, float fMass2=invalidAnswer) |
|
template<class T > |
static float | EvalTransverseMass (const T *pxP1, const T *pxP2, float fMETx, float fMETy) |
|
Definition at line 33 of file MuonSelector.h.
◆ PARENT
◆ HISTOS_1D
◆ MuonSelector() [1/2]
MuonSelector::MuonSelector |
( |
| ) |
|
◆ ~MuonSelector()
MuonSelector::~MuonSelector |
( |
| ) |
|
◆ MuonSelector() [2/2]
◆ BookHistograms()
void MuonSelector::BookHistograms |
( |
| ) |
|
|
protectedvirtual |
◆ calculateMomentum()
template<class T >
CLHEP::Hep3Vector EventAnalysis::calculateMomentum |
( |
const T * |
pP | ) |
|
|
staticinherited |
◆ doIPSelection()
void MuonSelector::doIPSelection |
( |
bool |
doIPsel | ) |
|
|
inline |
◆ doIsoSelection()
void MuonSelector::doIsoSelection |
( |
bool |
doIso | ) |
|
|
inline |
◆ doMCPSelection()
void MuonSelector::doMCPSelection |
( |
bool |
domcp | ) |
|
|
inline |
◆ EvalCharge()
template<class T >
float EventAnalysis::EvalCharge |
( |
const T * |
pxP1, |
|
|
const T * |
pxP2 |
|
) |
| |
|
staticinherited |
Definition at line 238 of file EventAnalysis.h.
242 return static_cast<float>( pxP1->charge() + pxP2->charge() );
◆ EvalDiMuInvMass()
template<class T >
float EventAnalysis::EvalDiMuInvMass |
( |
const T * |
pxP1, |
|
|
const T * |
pxP2 |
|
) |
| |
|
staticinherited |
◆ EvalEta()
template<class T >
float EventAnalysis::EvalEta |
( |
const T * |
pxP1, |
|
|
const T * |
pxP2 |
|
) |
| |
|
staticinherited |
Definition at line 229 of file EventAnalysis.h.
235 return static_cast<float>( (xTmp1 + xTmp2).pseudoRapidity() );
◆ EvalEtaDiff()
template<class T >
float EventAnalysis::EvalEtaDiff |
( |
const T * |
pxP1, |
|
|
const T * |
pxP2 |
|
) |
| |
|
staticinherited |
Definition at line 201 of file EventAnalysis.h.
208 return static_cast<float>( xTmp1.polarAngle(xTmp2) );
◆ EvalFourMuInvMass()
template<class T >
float EventAnalysis::EvalFourMuInvMass |
( |
const T * |
pxP1, |
|
|
const T * |
pxP2, |
|
|
const T * |
pxP3, |
|
|
const T * |
pxP4 |
|
) |
| |
|
staticinherited |
◆ EvalInvMass() [1/2]
template<class T >
float EventAnalysis::EvalInvMass |
( |
const T * |
pxP1, |
|
|
const T * |
pxP2, |
|
|
const T * |
pxp3, |
|
|
const T * |
pxP4, |
|
|
float |
fMass1, |
|
|
float |
fMass2 = -999.9 , |
|
|
float |
fMass3 = -999.9 , |
|
|
float |
fMass4 = invalidAnswer |
|
) |
| |
|
staticinherited |
Definition at line 132 of file EventAnalysis.h.
140 fMass2 = ( fMass2 < 0.0f ) ? fMass1 : fMass2;
141 fMass3 = ( fMass3 < 0.0f ) ? fMass1 : fMass3;
142 fMass4 = ( fMass4 < 0.0f ) ? fMass1 : fMass4;
150 CLHEP::HepLorentzVector xLVec; xLVec.setVectM ( xTmp1, fMass1 );
151 CLHEP::HepLorentzVector xLVec2; xLVec2.setVectM( xTmp2, fMass2 );
152 CLHEP::HepLorentzVector xLVec3; xLVec3.setVectM( xTmp3, fMass3 );
153 CLHEP::HepLorentzVector xLVec4; xLVec4.setVectM( xTmp4, fMass4 );
159 return static_cast<float>( xLVec.m() );
◆ EvalInvMass() [2/2]
Definition at line 106 of file EventAnalysis.h.
113 fMass2 = ( fMass2 < 0.0f ) ? fMass1 : fMass2;
117 CLHEP::HepLorentzVector xLVec1; xLVec1.setVectM( xTmp1, fMass1 );
118 CLHEP::HepLorentzVector xLVec2; xLVec2.setVectM( xTmp2, fMass2 );
119 return static_cast<float>( xLVec1.invariantMass( xLVec2 ) );
◆ EvalPhi()
template<class T >
float EventAnalysis::EvalPhi |
( |
const T * |
pxP1, |
|
|
const T * |
pxP2 |
|
) |
| |
|
staticinherited |
◆ EvalPhiDiff()
template<class T >
float EventAnalysis::EvalPhiDiff |
( |
const T * |
pxP1, |
|
|
const T * |
pxP2 |
|
) |
| |
|
staticinherited |
Definition at line 190 of file EventAnalysis.h.
197 return static_cast<float>( xTmp1.deltaPhi(xTmp2) );
◆ EvalPt()
template<class T >
float EventAnalysis::EvalPt |
( |
const T * |
pxP1, |
|
|
const T * |
pxP2 |
|
) |
| |
|
staticinherited |
◆ EvalPtDiff()
template<class T >
float EventAnalysis::EvalPtDiff |
( |
const T * |
pxP1, |
|
|
const T * |
pxP2 |
|
) |
| |
|
staticinherited |
◆ EvalTransverseMass() [1/4]
template<class T >
float EventAnalysis::EvalTransverseMass |
( |
const T * |
pxP1, |
|
|
const T * |
pxP2, |
|
|
float |
fMETx, |
|
|
float |
fMETy |
|
) |
| |
|
staticinherited |
◆ EvalTransverseMass() [2/4]
template<class T >
float EventAnalysis::EvalTransverseMass |
( |
const T * |
pxP1, |
|
|
const T * |
pxP2, |
|
|
float |
fMETx, |
|
|
float |
fMETy, |
|
|
float |
fMass1, |
|
|
float |
fMass2 = invalidAnswer |
|
) |
| |
|
staticinherited |
Definition at line 279 of file EventAnalysis.h.
286 fMass2 = ( fMass2 < 0.0f ) ? fMass1 : fMass2;
288 CLHEP::Hep3Vector xTmp1 = CLHEP::Hep3Vector( pxP1->p4().Px() *
EAna::CGeV, pxP1->p4().Py() *
EAna::CGeV, 0.0f );
289 CLHEP::Hep3Vector xTmp2 = CLHEP::Hep3Vector( pxP2->p4().Px() *
EAna::CGeV, pxP2->p4().Py() *
EAna::CGeV, 0.0f );
290 CLHEP::Hep3Vector xTmp12 = xTmp1 + xTmp2;
291 CLHEP::Hep3Vector xTmp3 = CLHEP::Hep3Vector( fMETx, fMETy, 0.0
f );
292 CLHEP::HepLorentzVector xLVec1; xLVec1.setVectM( xTmp12, fMass1 );
293 CLHEP::HepLorentzVector xLVec2; xLVec2.setVectM( xTmp3, 0.0
f );
294 return static_cast<float>( xLVec1.invariantMass( xLVec2 ) );
◆ EvalTransverseMass() [3/4]
template<class T >
float EventAnalysis::EvalTransverseMass |
( |
const T * |
pxP1, |
|
|
float |
fMETx, |
|
|
float |
fMETy |
|
) |
| |
|
staticinherited |
◆ EvalTransverseMass() [4/4]
template<class T >
float EventAnalysis::EvalTransverseMass |
( |
const T * |
pxP1, |
|
|
float |
fMETx, |
|
|
float |
fMETy, |
|
|
float |
fMass1, |
|
|
float |
fMass2 = invalidAnswer |
|
) |
| |
|
staticinherited |
Definition at line 254 of file EventAnalysis.h.
261 fMass2 = ( fMass2 < 0.0f ) ? fMass1 : fMass2;
263 CLHEP::Hep3Vector xTmp1 = CLHEP::Hep3Vector( pxP1->p4().Px() *
EAna::CGeV, pxP1->p4().Py() *
EAna::CGeV, 0.0f );
264 CLHEP::Hep3Vector xTmp2 = CLHEP::Hep3Vector( fMETx, fMETy, 0.0
f );
265 CLHEP::HepLorentzVector xLVec1; xLVec1.setVectM( xTmp1, fMass1 );
266 CLHEP::HepLorentzVector xLVec2; xLVec2.setVectM( xTmp2, 0.0
f );
267 return static_cast<float>( xLVec1.invariantMass( xLVec2 ) );
◆ EvaluateAngle()
template<class T >
float EventAnalysis::EvaluateAngle |
( |
const T * |
pxP1, |
|
|
const T * |
pxP2 |
|
) |
| |
|
staticinherited |
Definition at line 163 of file EventAnalysis.h.
170 return static_cast<float>( xTmp1.angle(xTmp2) );
◆ finalize()
void MuonSelector::finalize |
( |
| ) |
|
|
virtual |
Definition at line 461 of file MuonSelector.cxx.
464 std::cout <<
" * MuonSelector* -- STATS -- " << std::endl
471 std::cout <<
" passall : " <<
m_passall << std::endl
◆ GetPtCut()
double MuonSelector::GetPtCut |
( |
| ) |
|
|
inline |
◆ Init()
void MuonSelector::Init |
( |
| ) |
|
|
virtual |
Reimplemented from EventAnalysis.
Definition at line 113 of file MuonSelector.cxx.
116 ISvcLocator* serviceLocator = Gaudi::svcLocator();
118 StatusCode sc = serviceLocator->service(
"ToolSvc", toolSvc,
true);
120 if (
sc.isFailure() || toolSvc ==
nullptr ) {
121 (*m_msgStream) << MSG::ERROR <<
" * MuonSelector::Init * Unable to retrieve ToolSvc " <<
endmsg;
127 ( *m_msgStream) << MSG::INFO <<
" * MuonSelector::Init * m_muonSelectionTool.initialize() success :)" <<
endmsg;
128 if(
m_doDebug){ std::cout <<
" * MuonSelector::Init * m_muonSelectionTool.initialize() success :)" << std::endl;}
131 (*m_msgStream) << MSG::ERROR <<
" * MuonSelector::Init * FAILURE * Muon selction tool retrieving failed :( " <<
endmsg;
◆ operator=()
◆ passIPCuts()
bool MuonSelector::passIPCuts |
( |
| ) |
|
|
private |
Definition at line 359 of file MuonSelector.cxx.
368 if (
m_doDebug) std::cout <<
" * MuonSelector::passIPCuts * no IDTrk --> IP failure" << std::endl;
372 extz0 = IDTrk->
z0()+IDTrk->
vz();
374 std::cout <<
" * MuonSelector::passIPCuts *"
375 <<
" the IDTrack muon d0: " << extd0
376 <<
" the IDTrack muon z0: " << extz0 <<
" = " << IDTrk->
z0() <<
" + " << IDTrk->
vz() << std::endl;
380 if(
m_doDebug) std::cout <<
" * MuonSelector * passIPCuts() * no valid inDetTrackParticleLink(). Will use the combined muon IPs" << std::endl;
384 if(
m_doDebug) std::cout <<
" * MuonSelector * passIPCuts() * no valid CombinedTrackParticle. Giving up." << std::endl;
389 extz0 = CBTrk->
z0()+CBTrk->
vz();
391 std::cout <<
" * MuonSelector * passIPCuts() *"
392 <<
" the CBTrack muon d0: " << extd0
393 <<
" the CBTrack muon z0: " << extz0 <<
" = " << CBTrk->
z0() <<
" + " << CBTrk->
vz()<< std::endl;
402 if(
m_doDebug) std::cout <<
" * MuonSelector::passIPCuts ** fails because NO vertex collection "<< std::endl;
406 if ( vxContainer->size()>1 ) {
408 std::cout <<
" * MuonSelector::passIPCuts ** vertex container is filled with " << vxContainer->size() <<
" vertices" << std::endl;
411 for (
int ivtx=0; ivtx < (
int) vxContainer->size(); ivtx++) {
413 std::cout <<
" vertex " << ivtx+1 <<
" (x,y,z) = (" << thisVtx->
position().x()
424 bool goodmuonIP =
false;
425 float minDeltaZ = 99999.;
427 for (
int ivtx=0; ivtx < (
int) vxContainer->size(); ivtx++) {
431 if (std::abs(extz0 - thisVtx->
position().z()) < minDeltaZ) minDeltaZ = std::abs(extz0 - thisVtx->
position().z());
435 std::cout <<
" testing vtx: " << ivtx <<
" vtx.z= " << thisVtx->
position().z() <<
" trk.z= " << extz0 <<
" deltaZ= " << std::abs(extz0 - thisVtx->
position().z()) <<
" minDeltaZ= " << minDeltaZ << std::endl;
439 if(
m_doDebug) std::cout <<
" * MuonSelector::passIPCuts * this muon has passed the IPCuts for vertex " << ivtx+1
440 <<
" pVZcut= " << std::abs(extz0 - thisVtx->
position().z()) <<
" < " <<
m_diffZCut << std::endl
451 if(
m_doDebug) std::cout <<
" * MuonSelector::passIPCuts * this muon has passed the IPCuts. Zcut: "<<
m_pVZCut <<
" m_diffZCut " <<
m_diffZCut << std::endl;
456 if(
m_doDebug) std::cout <<
" * MuonSelector * passIPCuts() * this muon has not passed the IPCuts: " << std::endl;
◆ passIsolCuts()
bool MuonSelector::passIsolCuts |
( |
| ) |
|
|
private |
Definition at line 330 of file MuonSelector.cxx.
335 std::cout <<
" * MuonSelector::passIsolCuts * WARNING * No isolation variable stored on the muon" << std::endl;
336 std::cout <<
" * MuonSelector::passIsolCuts * this muon did not pass the IsoCuts " << std::endl;
344 if(
m_doDebug) std::cout <<
" * MuonSelector::passIsolCuts * muon pt: " <<
pt <<
" ptSum(ptcone40): "<< ptSum << std::endl;
346 if(
m_doDebug) std::cout <<
" * MuonSelector::passIsolCuts * this muon passed the IsoCuts ptcone40 / pt= "
347 << ptSum <<
" / " <<
pt <<
" = " << ptSum /
pt
348 <<
" < IsoCut(" <<
m_IsoCut <<
") " << std::endl;
353 if(
m_doDebug) std::cout <<
" * MuonSelector::passIsolCuts * this muon did not pass the IsoCuts:" << std::endl;
◆ passPtCuts()
bool MuonSelector::passPtCuts |
( |
| ) |
|
|
private |
Definition at line 284 of file MuonSelector.cxx.
287 if(
m_doDebug) std::cout <<
" * MuonSelector::passPtCuts * START *" << std::endl;
293 double pt = 0, ptID, ptMS,ptCB;
295 if ( !(pxMuonID || pxMuonMS || pxMuonCB)){
296 if(
m_doDebug) std::cout <<
" * MuonSelector::passPtCuts * NO inDetTrackParticle && muonSpectrometerTrackParticle && CombinedTrackParticle: " << std::endl;
302 ptID = pxMuonID ? pxMuonID->
pt() : 0.0 ;
303 ptMS = pxMuonMS ? pxMuonMS->
pt() : 0.0 ;
304 ptCB = pxMuonCB ? pxMuonCB->
pt() : 0.0 ;
307 if(
m_doDebug) std::cout <<
" * MuonSelector::passPtCuts * pt of each segments of this muon pxMuon: " <<
pt << std::endl
308 <<
" ptID: " << ptID << std::endl
309 <<
" ptMS: " << ptMS << std::endl
310 <<
" ptCB: " << ptCB << std::endl
311 <<
" fMEta pxMuon->eta(): " << fMEta << std::endl;
320 if(
m_doDebug) std::cout <<
" * MuonSelector::passPtCuts * this muon is in eta range |eta|= " << fMEta <<
" < EtaCut(" <<
m_fEtaCut <<
") " << std::endl
321 <<
" and passed the PtCuts (" <<
m_combPtCut <<
") "<< std::endl;
325 if(
m_doDebug) std::cout <<
" * MuonSelector::passPtCuts * this muon did not pass the PtCuts (reco pt=" <<
pt <<
") or Eta cut " <<
m_fEtaCut << std::endl;
◆ passQualCuts()
bool MuonSelector::passQualCuts |
( |
| ) |
|
|
private |
Definition at line 229 of file MuonSelector.cxx.
231 bool goodTrack =
false;
254 if(
m_doDebug) std::cout <<
" * MuonSelector * passQualCuts() * eBLhits: " << eBLhits
255 <<
" nBLhits: " << nBLhits
256 <<
" nhitsPIX: " << nhitsPIX
257 <<
" nPIXLayers: " << nContribPixLayers
258 <<
" nhitsSCT: " << nhitsSCT
259 <<
" Silicon holes: " << nPIXH + nSCTH
260 <<
" nhitsTRT: " << nhitsTRT
261 <<
" nTRTholes: " << nTRTH
264 if (((!eBLhits) || (nBLhits > 0))
265 && (nhitsPIX + nPIXDS > 1 )
266 && (nhitsSCT + nSCTDS >=6 )
267 && (nPIXH + nSCTH < 2 ) ) {
274 std::cout <<
" * MuonSelector * passQualCuts() * this muon satisfies the hits number QualCuts " << std::endl;
277 std::cout <<
" * MuonSelector * passQualCuts() * this muon did not pass the hits number QualCuts " << std::endl;
◆ passSelection()
Definition at line 146 of file MuonSelector.cxx.
148 if(
m_doDebug){ std::cout <<
" * MuonSelector::passSelection * START * new muon " << pxMuon <<
" with pt: " << pxMuon->
pt() << std::endl; }
150 std::vector<bool> passes;
160 passes.push_back(pass);
161 if (
m_doDebug && !pass) std::cout <<
" * MuonSelector::passSelection * Muon Fails QualSelection"<<std::endl;
167 passes.push_back(pass);
168 if (
m_doDebug && !pass) std::cout<<
" * MuonSelector::passSelection * Muon Fails Iso Selection"<<std::endl;
175 passes.push_back(pass);
176 if (
m_doDebug && !pass) std::cout<<
" * MuonSelector::passSelection * Muon Fails pT Selection"<<std::endl;
182 passes.push_back(pass);
183 if (
m_doDebug && !pass) std::cout<<
" * MuonSelector::passSelection * Muon Fails IP Selection"<<std::endl;
189 if (
m_doDebug) std::cout <<
" * MuonSelector::passSelection * muon quality from muonsSelectionTool: " << my_quality << std::endl;
197 passes.push_back(pass);
198 if (
m_doDebug && pass) std::cout<<
" * MuonSelector::passSelection * Muon Passes official m_muonSelectionTool (medium) Selection :)" << std::endl;
199 if (
m_doDebug && !pass) std::cout<<
" * MuonSelector::passSelection * Muon Fails official m_muonSelectionTool (medium) Selection" << std::endl;
204 for (
int i=0;
i <
int(passes.size());
i++)
206 if(
m_doDebug) std::cout <<
" * MuonSelector::passSelection * BAD MUON * muon haven't passed the " <<
i+1 <<
"th selection " << std::endl;
213 if(
m_doDebug){ std::cout <<
" * MuonSelector::passSelection * completed. GOOD MUON " << std::endl; }
◆ Reco()
bool MuonSelector::Reco |
( |
| ) |
|
|
virtual |
◆ Register()
void EventAnalysis::Register |
( |
| ) |
|
|
privateinherited |
◆ SetCustomMuonSelectionTool()
◆ setDebug()
void MuonSelector::setDebug |
( |
bool |
debug | ) |
|
|
inline |
◆ SetMuonQualityRequirement()
void MuonSelector::SetMuonQualityRequirement |
( |
std::string |
newname | ) |
|
◆ SetPtCut()
void MuonSelector::SetPtCut |
( |
double |
newvalue | ) |
|
|
inline |
◆ invalidAnswer
constexpr float EventAnalysis::invalidAnswer {-999.9f} |
|
staticconstexprinherited |
◆ m_bCutOnCombKine
bool MuonSelector::m_bCutOnCombKine |
|
private |
◆ m_bLock
bool MuonSelector::m_bLock |
|
private |
◆ m_combPtCut
double MuonSelector::m_combPtCut |
|
private |
◆ m_coneSize
double MuonSelector::m_coneSize {} |
|
private |
◆ m_diffPtCut
float MuonSelector::m_diffPtCut |
|
private |
◆ m_diffZCut
float MuonSelector::m_diffZCut |
|
private |
◆ m_doDebug
bool MuonSelector::m_doDebug |
|
private |
◆ m_doIPSelection
bool MuonSelector::m_doIPSelection |
|
private |
◆ m_doIsoSelection
bool MuonSelector::m_doIsoSelection |
|
private |
◆ m_doMCPSelection
bool MuonSelector::m_doMCPSelection |
|
private |
◆ m_doPtSelection
bool MuonSelector::m_doPtSelection |
|
private |
◆ m_doQualSelection
bool MuonSelector::m_doQualSelection |
|
private |
◆ m_fEtaCut
float MuonSelector::m_fEtaCut |
|
private |
◆ m_fIDChiPerDofCut
float MuonSelector::m_fIDChiPerDofCut |
|
private |
◆ m_fIDPtCut
float MuonSelector::m_fIDPtCut |
|
private |
◆ m_IDSiHitsCut
int MuonSelector::m_IDSiHitsCut |
|
private |
◆ m_IsoCut
double MuonSelector::m_IsoCut |
|
private |
◆ m_msgStream
MsgStream* MuonSelector::m_msgStream |
|
private |
◆ m_muonSelectionTool
◆ m_passall
unsigned int MuonSelector::m_passall {} |
|
private |
◆ m_passip
unsigned int MuonSelector::m_passip {} |
|
private |
◆ m_passiso
unsigned int MuonSelector::m_passiso {} |
|
private |
◆ m_passmcp
unsigned int MuonSelector::m_passmcp {} |
|
private |
◆ m_passpt
unsigned int MuonSelector::m_passpt {} |
|
private |
◆ m_passqual
unsigned int MuonSelector::m_passqual {} |
|
private |
◆ m_ptMSCut
float MuonSelector::m_ptMSCut |
|
private |
◆ m_pVZCut
float MuonSelector::m_pVZCut |
|
private |
◆ m_pxMuon
◆ m_requestedMuonQuality
int MuonSelector::m_requestedMuonQuality {} |
|
private |
◆ m_testedmuons
unsigned int MuonSelector::m_testedmuons {} |
|
private |
◆ m_ucID_PIXCut
unsigned char MuonSelector::m_ucID_PIXCut |
|
private |
◆ m_ucID_SCTCut
unsigned char MuonSelector::m_ucID_SCTCut |
|
private |
◆ m_ucID_TRTCut
unsigned char MuonSelector::m_ucID_TRTCut |
|
private |
◆ m_ucJMuon_Cut
unsigned char MuonSelector::m_ucJMuon_Cut |
|
private |
◆ m_uNumInstances
unsigned int MuonSelector::m_uNumInstances = 0U |
|
private |
◆ m_uPassedEvents
unsigned int EventAnalysis::m_uPassedEvents |
|
protectedinherited |
◆ m_x1DHistograms
std::map<unsigned int, TH1F*> EventAnalysis::m_x1DHistograms |
|
protectedinherited |
◆ m_x1DProfHistograms
std::map<unsigned int, TProfile*> EventAnalysis::m_x1DProfHistograms |
|
protectedinherited |
◆ m_x2DHistograms
std::map<unsigned int, TH2F*> EventAnalysis::m_x2DHistograms |
|
protectedinherited |
◆ m_x2DProfHistograms
std::map<unsigned int, TProfile2D*> EventAnalysis::m_x2DProfHistograms |
|
protectedinherited |
◆ m_xSampleName
std::string EventAnalysis::m_xSampleName |
|
protectedinherited |
The documentation for this class was generated from the following files:
static float EvalInvMass(const T *pxP1, const T *pxP2, float fMass1, float fMass2=invalidAnswer)
virtual double pt() const override final
The transverse momentum ( ) of the particle.
@ numberOfPixelHoles
number of pixel layers on track with absence of hits [unit8_t].
static IMessageSvc * getMessagingService()
bool isolation(float &value, const Iso::IsolationType information) const
Accessor for Isolation values.
size_t nTrackParticles() const
Get the number of tracks associated with this vertex.
Scalar phi() const
phi method
@ expectBLayerHit
Do we expect a b-layer hit for this track? [unit8_t] (should be [bool])
const TrackParticle * trackParticle(TrackParticleType type) const
Returns a pointer (which can be NULL) to the TrackParticle used in identification of this muon.
Scalar perp() const
perp method - perpenticular length
bool summaryValue(uint8_t &value, const SummaryType &information) const
Accessor for TrackSummary values.
float vz() const
The z origin for the parameters.
unsigned char m_ucID_SCTCut
virtual double eta() const
The pseudorapidity ( ) of the particle.
float z0() const
Returns the parameter.
unsigned char m_ucID_TRTCut
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
@ numberOfTRTHits
number of TRT hits [unit8_t].
const Amg::Vector3D & position() const
Returns the 3-pos.
VxType::VertexType vertexType() const
The type of the vertex.
std::map< unsigned int, TH1F * > m_x1DHistograms
@ numberOfBLayerHits
these are the hits in the first pixel layer, i.e.
unsigned char m_ucID_PIXCut
float d0() const
Returns the parameter.
ToolHandle< CP::IMuonSelectionTool > m_muonSelectionTool
const xAOD::Muon * m_pxMuon
unsigned int m_uNumInstances
std::map< unsigned int, TH2F * > m_x2DHistograms
static float EvalTransverseMass(const T *pxP1, float fMETx, float fMETy, float fMass1, float fMass2=invalidAnswer)
int m_requestedMuonQuality
static CLHEP::Hep3Vector calculateMomentum(const T *pP)
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual double pt() const
The transverse momentum ( ) of the particle.
unsigned char m_ucJMuon_Cut
unsigned int m_testedmuons
@ numberOfSCTHoles
number of SCT holes [unit8_t].
std::map< unsigned int, TProfile * > m_x1DProfHistograms
std::string to_string(const DetectorType &type)
const ElementLink< TrackParticleContainer > & inDetTrackParticleLink() const
Returns an ElementLink to the InnerDetector TrackParticle used in identification of this muon.
std::map< unsigned int, TProfile2D * > m_x2DProfHistograms
Class describing a Vertex.
@ numberOfSCTDeadSensors
number of dead SCT sensors crossed [unit8_t].
@ numberOfContribPixelLayers
number of contributing layers of the pixel detector [unit8_t].
@ numberOfSCTHits
number of hits in SCT [unit8_t].
@ numberOfPixelDeadSensors
number of dead pixel sensors crossed [unit8_t].
Class describing a TrackParticle.
@ numberOfTRTHoles
number of TRT holes [unit8_t].
std::string m_xSampleName
static constexpr float invalidAnswer