ATLAS Offline Software
TrigEgammaPrecisionPhotonCaloIsoHypoTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef TRIGEGAMMAHYPO_TRIGPHOTONCALOISOHYPOTOOLINC_H
5 #define TRIGEGAMMAHYPO_TRIGPHOTONCALOISOHYPOTOOLINC_H 1
6 
7 /*
8  * =====================================================================================
9  *
10  * Filename: TrigEgammaPrecisionPhotonCaloIsoHypoTool.h
11  *
12  * Description: Hypo tool header for Calorimeter isolation applied HLT precision step for photon triggers
13  *
14  * Created: 08/09/2022 11:19:55 AM
15  *
16  * Author: Fernando Monticelli (), Fernando.Monticelli@cern.ch
17  * Organization: UNLP/IFLP/CONICET
18  *
19  * =====================================================================================
20  */
21 
22 
29 
35 class TrigEgammaPrecisionPhotonCaloIsoHypoTool : public extends<AthAlgTool, ITrigEgammaPrecisionPhotonCaloIsoHypoTool> {
36  public:
37  TrigEgammaPrecisionPhotonCaloIsoHypoTool( const std::string& type,const std::string& name, const IInterface* parent );
38 
39  virtual StatusCode initialize() override;
40 
41  virtual StatusCode decide( std::vector<ITrigEgammaPrecisionPhotonCaloIsoHypoTool::PhotonInfo>& input ) const override;
42 
43  virtual bool decide( const ITrigEgammaPrecisionPhotonCaloIsoHypoTool::PhotonInfo& i ) const override;
44 
45  private:
47 
48 // //Calorimeter electron ID cuts
49  Gaudi::Property< std::vector<float> > m_etabin { this, "EtaBins", {} , "Bins of eta" };
50  Gaudi::Property< std::vector<float> > m_RelEtConeCut { this, "RelEtConeCut", {999., 999., 999.} , "Calo isolation cut on etcone20" };
51  Gaudi::Property< std::vector<float> > m_RelTopoEtConeCut { this, "RelTopoEtConeCut", {999., 999., 999.}, "Calo isolation cut in [TopoEtcone20/pt, TopoEtcone30/pt, TopoEtcone40/pt]" };
52  Gaudi::Property< std::vector<float> > m_CutOffset { this, "Offset", {0., 0., 0.} , "Calo isolation offset cut in [(Topo)Etcone20/pt, (Topo)Etcone30/pt, (Topo)Etcone40/pt]" };
53  Gaudi::Property< std::string > m_pidName {this, "PidName", "", "Pid name"};
54 
55  /* Accept all in case of noiso instance */
56  Gaudi::Property< bool > m_acceptAll {this, "AcceptAll", false, "Force accept the event"};
57  /* monitoring */
58  ToolHandle< GenericMonitoringTool > m_monTool { this, "MonTool", "", "Monitoring tool" };
59 
60  /*Luminosity info*/
61  SG::ReadDecorHandleKey<xAOD::EventInfo> m_avgMuKey { this, "averageInteractionsPerCrossingKey", "EventInfo.averageInteractionsPerCrossing", "Decoration for Average Interaction Per Crossing" };
62 
63 
64  int findCutIndex( float eta ) const;
65 };
66 
67 #endif //> !TRIGEGAMMAHYPO_TRIGPRECISIONPHOTONHYPOTOOL_H
TrigEgammaPrecisionPhotonCaloIsoHypoTool::m_acceptAll
Gaudi::Property< bool > m_acceptAll
Definition: TrigEgammaPrecisionPhotonCaloIsoHypoTool.h:56
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
TrigEgammaPrecisionPhotonCaloIsoHypoTool::decide
virtual StatusCode decide(std::vector< ITrigEgammaPrecisionPhotonCaloIsoHypoTool::PhotonInfo > &input) const override
TrigEgammaPrecisionPhotonCaloIsoHypoTool::initialize
virtual StatusCode initialize() override
Definition: TrigEgammaPrecisionPhotonCaloIsoHypoTool.cxx:40
TrigEgammaPrecisionPhotonCaloIsoHypoTool::m_RelEtConeCut
Gaudi::Property< std::vector< float > > m_RelEtConeCut
Definition: TrigEgammaPrecisionPhotonCaloIsoHypoTool.h:50
ITrigEgammaPrecisionPhotonCaloIsoHypoTool.h
TrigEgammaPrecisionPhotonCaloIsoHypoTool::m_decisionId
HLT::Identifier m_decisionId
Definition: TrigEgammaPrecisionPhotonCaloIsoHypoTool.h:46
TrigEgammaPrecisionPhotonCaloIsoHypoTool::findCutIndex
int findCutIndex(float eta) const
Definition: TrigEgammaPrecisionPhotonCaloIsoHypoTool.cxx:266
TrigEgammaPrecisionPhotonCaloIsoHypoTool::m_etabin
Gaudi::Property< std::vector< float > > m_etabin
selection variable for PRECISION calo selection:eta bins
Definition: TrigEgammaPrecisionPhotonCaloIsoHypoTool.h:49
TrigEgammaPrecisionPhotonCaloIsoHypoTool::m_pidName
Gaudi::Property< std::string > m_pidName
Definition: TrigEgammaPrecisionPhotonCaloIsoHypoTool.h:53
GenericMonitoringTool.h
lumiFormat.i
int i
Definition: lumiFormat.py:85
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TrigEgammaPrecisionPhotonCaloIsoHypoTool::m_RelTopoEtConeCut
Gaudi::Property< std::vector< float > > m_RelTopoEtConeCut
Definition: TrigEgammaPrecisionPhotonCaloIsoHypoTool.h:51
HLT::Identifier
Definition: TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:20
TrigEgammaPrecisionPhotonCaloIsoHypoTool::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: TrigEgammaPrecisionPhotonCaloIsoHypoTool.h:58
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
EventInfo.h
TrigEgammaPrecisionPhotonCaloIsoHypoTool::m_CutOffset
Gaudi::Property< std::vector< float > > m_CutOffset
Definition: TrigEgammaPrecisionPhotonCaloIsoHypoTool.h:52
TrigEgammaPrecisionPhotonCaloIsoHypoTool
Definition: TrigEgammaPrecisionPhotonCaloIsoHypoTool.h:35
TrigEgammaPrecisionPhotonCaloIsoHypoTool::TrigEgammaPrecisionPhotonCaloIsoHypoTool
TrigEgammaPrecisionPhotonCaloIsoHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TrigEgammaPrecisionPhotonCaloIsoHypoTool.cxx:32
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
HLTIdentifier.h
ReadDecorHandle.h
Handle class for reading a decoration on an object.
ITrigEgammaPrecisionPhotonCaloIsoHypoTool::PhotonInfo
Definition: ITrigEgammaPrecisionPhotonCaloIsoHypoTool.h:25
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition: StoreGate/StoreGate/ReadDecorHandleKey.h:85
TrigEgammaPrecisionPhotonCaloIsoHypoTool::m_avgMuKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_avgMuKey
Definition: TrigEgammaPrecisionPhotonCaloIsoHypoTool.h:61