ATLAS Offline Software
Loading...
Searching...
No Matches
L2OverlapRemoverMon.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGMUONMONITORING_L2OVERLAPREMOVERMON_H
6#define TRIGMUONMONITORING_L2OVERLAPREMOVERMON_H
7
10
11/*
12This is a class for monitoring L2MuonSA.
13 */
15
16 public:
17 L2OverlapRemoverMon(const std::string& name, ISvcLocator* pSvcLocator );
18
19 protected:
20 virtual StatusCode fillVariablesPerChain(const EventContext &ctx, const std::string &chain) const override;
21
22 private:
23
30 template<class T>
31 StatusCode fillVariablesOverlapRemoverPlots(const std::string &chain, std::string &&trigstep) const;
32
33 bool isOverlap(const std::string &chain, const ElementLink<xAOD::L2StandAloneMuonContainer>& muEL1, const ElementLink<xAOD::L2StandAloneMuonContainer>& muEL2) const;
34 bool isOverlap(const std::string &chain, const ElementLink<xAOD::L2CombinedMuonContainer>& muEL1, const ElementLink<xAOD::L2CombinedMuonContainer>& muEL2) const;
35
42 StatusCode chooseBestMuon(const std::string &chain, const std::vector< TrigCompositeUtils::LinkInfo<xAOD::L2StandAloneMuonContainer> >& featureCont, const std::vector<unsigned int>& muResult) const;
43 StatusCode chooseBestMuon(const std::string &chain, const std::vector< TrigCompositeUtils::LinkInfo<xAOD::L2CombinedMuonContainer> >& featureCont, const std::vector<unsigned int>& muResult) const;
44
45 static float calcinvMass(double m1, double pt1, double eta1, double phi1, double m2, double pt2, double eta2, double phi2) ;
46 static inline std::tuple<float,float,float> L2ORPosForMatchFunc(const xAOD::L2StandAloneMuon *trig);
47 static inline std::tuple<float,float,float> L2ORPosForMatchFunc(const xAOD::L2CombinedMuon *trig);
48
49 // these threshold is same as the L2OverlapRemover in TrigMufastHypoTool
50 Gaudi::Property< float > m_dRSAThresBB {this, "DRThresBB", 0.05, "DR threshold of L2SA in barel and barel region"};
51 Gaudi::Property< float > m_massSAThresBB {this, "MassThresBB", 0.20, "mass threshold of L2SA in barel and barel region"};
52 Gaudi::Property< float > m_dRSAThresBE {this, "DRThresBE", 0.05, "DR threshold of L2SA in barel and barel region"};
53 Gaudi::Property< float > m_massSAThresBE {this, "MassThresBE", 0.20, "mass threshold of L2SA in barel and endcap region"};
54 Gaudi::Property< std::vector<float> > m_etaBins {this, "EtaBins", {0, 1.9, 2.1, 9.9}, "eta bins of DR and mass thresholds"};
55 Gaudi::Property< std::vector<float> > m_dRSAThresEC {this, "DRThresEC", {0.06, 0.05, 0.05}, "DR threshold of L2SA in endcap and barel region"};
56 Gaudi::Property< std::vector<float> > m_massSAThresEC {this, "MassThresEC", {0.20, 0.15, 0.10}, "mass threshold of L2SA in endcap and endcap region"};
57 Gaudi::Property< std::vector<float> > m_dRCBThres {this, "DRThres", {0.06, 0.05, 0.05}, "DR threshold of L2CB"};
58 Gaudi::Property< std::vector<float> > m_dRbySAThres {this, "dRbySAThres", {0.06, 0.05, 0.05}, "mufast DR threshold of L2CB"};
59 Gaudi::Property< std::vector<float> > m_massCBThres {this, "MassThres", {0.20, 0.15, 0.10}, "mass threshold of L2CB"};
60
61};
62
64
65#endif //TRIGMUONMONITORING_L2OVERLAPREMOVERMON_H
Gaudi::Property< std::vector< float > > m_etaBins
Gaudi::Property< float > m_dRSAThresBE
Gaudi::Property< std::vector< float > > m_dRSAThresEC
static std::tuple< float, float, float > L2ORPosForMatchFunc(const xAOD::L2StandAloneMuon *trig)
StatusCode chooseBestMuon(const std::string &chain, const std::vector< TrigCompositeUtils::LinkInfo< xAOD::L2StandAloneMuonContainer > > &featureCont, const std::vector< unsigned int > &muResult) const
Function that choose best muon.
Gaudi::Property< std::vector< float > > m_dRCBThres
Gaudi::Property< std::vector< float > > m_massSAThresEC
static float calcinvMass(double m1, double pt1, double eta1, double phi1, double m2, double pt2, double eta2, double phi2)
L2OverlapRemoverMon(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< std::vector< float > > m_dRbySAThres
virtual StatusCode fillVariablesPerChain(const EventContext &ctx, const std::string &chain) const override
Function that fills variables of trigger objects associated to specified trigger chains.
Gaudi::Property< float > m_dRSAThresBB
Gaudi::Property< std::vector< float > > m_massCBThres
Gaudi::Property< float > m_massSAThresBB
StatusCode fillVariablesOverlapRemoverPlots(const std::string &chain, std::string &&trigstep) const
Function that fills variables of L2OverlapRemover plots.
Gaudi::Property< float > m_massSAThresBE
bool isOverlap(const std::string &chain, const ElementLink< xAOD::L2StandAloneMuonContainer > &muEL1, const ElementLink< xAOD::L2StandAloneMuonContainer > &muEL2) const
TrigMuonMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
L2CombinedMuon_v1 L2CombinedMuon
Define the latest version of the muon CB class.
L2StandAloneMuon_v2 L2StandAloneMuon
Define the latest version of the muon SA class.
Helper to keep a Decision object, ElementLink and ActiveState (with respect to some requested ChainGr...
Definition LinkInfo.h:22