5#ifndef TRIGMUONMONITORING_L2MUONSAIOMON_H
6#define TRIGMUONMONITORING_L2MUONSAIOMON_H
18 L2MuonSAIOMon(
const std::string& name, ISvcLocator* pSvcLocator );
23 virtual StatusCode
fillVariablesPerChain(
const EventContext &ctx,
const std::string &chain)
const override;
30 StatusCode
matchL2IO_wContainer(
const EventContext &ctx,
const std::string &chain, std::vector< const xAOD::L2CombinedMuon* > &Trig_L2IOobjects)
const;
31 StatusCode
L2OverlapRemover(
const std::vector< const xAOD::L2CombinedMuon* >& matchSA_L2IOobjects, std::vector< bool > &isoverlap, std::vector< bool > &
passOR )
const;
33 StatusCode
chooseBestMuon(
const std::vector< const xAOD::L2CombinedMuon* >& matchSA_L2IOobjects, std::vector< bool > &
passOR, std::vector< unsigned int > &mucombResult )
const;
34 StatusCode
muCombHypo_TDTworkaround(
const std::string &chain,
const std::vector< const xAOD::L2CombinedMuon* >& Trig_L2IOobjects, std::vector< bool > &pass_muCombHypo )
const;
36 StatusCode
decision_ptthreshold(
const std::string &chain, std::vector< float > &my_EtaBins, std::vector< float > &my_muCombThres,
37 bool &my_pikCuts,
float &my_maxPtToApplyPik,
float &my_chi2MaxID )
const;
46 Gaudi::Property< std::vector<float> >
m_etaBins {
this,
"EtaBins", {0, 0.9, 1.1, 1.9, 2.1, 9.9},
"eta bins of DR and mass thresholds"};
47 Gaudi::Property< std::vector<float> >
m_dRCBThres {
this,
"DRThres", {0.002, 0.001, 0.002, 0.002, 0.002},
"DR threshold of L2CB"};
48 Gaudi::Property< std::vector<float> >
m_dRbySAThres {
this,
"dRbySAThres", {0, 0, 0, 0, 0},
"mufast DR threshold of L2CB"};
49 Gaudi::Property< std::vector<float> >
m_massCBThres {
this,
"MassThres", {0.004, 0.002, 0.006, 0.006, 0.006},
"mass threshold of L2CB"};
virtual StatusCode initialize() override
initialize
StatusCode muCombHypo_TDTworkaround(const std::string &chain, const std::vector< const xAOD::L2CombinedMuon * > &Trig_L2IOobjects, std::vector< bool > &pass_muCombHypo) const
const xAOD::Muon * searchTagOfflineMuon(const EventContext &ctx, const xAOD::Muon *probe) const
StatusCode isPassedmuCombHypo(const std::string &chain, const xAOD::L2CombinedMuon *Trig_L2IOobjects, bool &pass_muCombHypo) const
StatusCode matchL2IO_wContainer(const EventContext &ctx, const std::string &chain, std::vector< const xAOD::L2CombinedMuon * > &Trig_L2IOobjects) const
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< std::vector< float > > m_monitored_chains_plateau
std::map< std::string, double > m_plateaus
StatusCode L2OverlapRemover(const std::vector< const xAOD::L2CombinedMuon * > &matchSA_L2IOobjects, std::vector< bool > &isoverlap, std::vector< bool > &passOR) const
virtual StatusCode fillVariablesPerOfflineMuonPerChain(const EventContext &ctx, const xAOD::Muon *mu, const std::string &chain) const override
Function that fills variables of trigger objects associated to specified trigger chains comparing off...
StatusCode decision_ptthreshold(const std::string &chain, std::vector< float > &my_EtaBins, std::vector< float > &my_muCombThres, bool &my_pikCuts, float &my_maxPtToApplyPik, float &my_chi2MaxID) const
StatusCode chooseBestMuon(const std::vector< const xAOD::L2CombinedMuon * > &matchSA_L2IOobjects, std::vector< bool > &passOR, std::vector< unsigned int > &mucombResult) const
bool isOverlap(const xAOD::L2CombinedMuon *matchSA_L2IOobject1, const xAOD::L2CombinedMuon *matchSA_L2IOobject2) const
L2MuonSAIOMon(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadHandleKey< xAOD::L2CombinedMuonContainer > m_L2MuonCBIOContainerKey
static std::tuple< float, float, float > L2ORPosForMatchFunc(const xAOD::L2StandAloneMuon *trig)
Gaudi::Property< std::vector< float > > m_etaBins
const xAOD::L2CombinedMuon * searchL2InsideOut(const EventContext &ctx, const xAOD::Muon *mu, const std::string &trigger) const
Gaudi::Property< std::vector< float > > m_massCBThres
Gaudi::Property< std::vector< float > > m_dRCBThres
Gaudi::Property< std::vector< float > > m_dRbySAThres
Property holding a SG store/key/clid from which a ReadHandle is made.
TrigMuonMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
L2CombinedMuon_v1 L2CombinedMuon
Define the latest version of the muon CB class.
Muon_v1 Muon
Reference the current persistent version:
L2StandAloneMuon_v2 L2StandAloneMuon
Define the latest version of the muon SA class.