ATLAS Offline Software
TrigEgammaPrecisionPhotonHypoTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef TRIGEGAMMAHYPO_TRIGPRECISIONPHOTONHYPOTOOLINC_H
5 #define TRIGEGAMMAHYPO_TRIGPRECISIONPHOTONHYPOTOOLINC_H 1
6 
13 
19 class TrigEgammaPrecisionPhotonHypoTool : public extends<AthAlgTool, ITrigEgammaPrecisionPhotonHypoTool> {
20  public:
21  TrigEgammaPrecisionPhotonHypoTool( const std::string& type,const std::string& name, const IInterface* parent );
22 
23  virtual StatusCode initialize() override;
24 
25  virtual StatusCode decide( std::vector<ITrigEgammaPrecisionPhotonHypoTool::PhotonInfo>& input ) const override;
26 
27  virtual bool decide( const ITrigEgammaPrecisionPhotonHypoTool::PhotonInfo& i ) const override;
28 
29  private:
31 
32  //Calorimeter electron ID cuts
33  Gaudi::Property< std::vector<float> > m_etabin { this, "EtaBins", {} , "Bins of eta" };
34  Gaudi::Property< std::vector<float> > m_eTthr { this, "ETthr", {}, "ET Threshold" };
35  Gaudi::Property< float > m_detacluster { this, "dETACLUSTERthr", 0. , "" };
36  Gaudi::Property< float > m_dphicluster { this, "dPHICLUSTERthr", 0. , "" };
37  Gaudi::Property< bool > m_doNoPid { this, "DoNoPid", false , "No Pid/Isolation applied" };
38 // Gaudi::Property< std::vector<float> > m_RelEtConeCut { this, "RelEtConeCut", {999., 999., 999.} , "Calo isolation cut on etcone20" };
39 // Gaudi::Property< std::vector<float> > m_RelTopoEtConeCut { this, "RelTopoEtConeCut", {999., 999., 999.}, "Calo isolation cut in [TopoEtcone20/pt, TopoEtcone30/pt, TopoEtcone40/pt]" };
40 // 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]" };
41  Gaudi::Property< std::string > m_pidName {this, "PidName", "", "Pid name"};
42 
43  /* monitoring */
44  ToolHandle< GenericMonitoringTool > m_monTool { this, "MonTool", "", "Monitoring tool" };
45 
46  /*Luminosity info*/
47  SG::ReadDecorHandleKey<xAOD::EventInfo> m_avgMuKey { this, "averageInteractionsPerCrossingKey", "EventInfo.averageInteractionsPerCrossing", "Decoration for Average Interaction Per Crossing" };
48 
49 
50  int findCutIndex( float eta ) const;
51 };
52 
53 #endif //> !TRIGEGAMMAHYPO_TRIGPRECISIONPHOTONHYPOTOOL_H
TrigEgammaPrecisionPhotonHypoTool::m_detacluster
Gaudi::Property< float > m_detacluster
Definition: TrigEgammaPrecisionPhotonHypoTool.h:35
TrigEgammaPrecisionPhotonHypoTool::m_doNoPid
Gaudi::Property< bool > m_doNoPid
Definition: TrigEgammaPrecisionPhotonHypoTool.h:37
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
TrigEgammaPrecisionPhotonHypoTool::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: TrigEgammaPrecisionPhotonHypoTool.h:44
TrigEgammaPrecisionPhotonHypoTool::m_eTthr
Gaudi::Property< std::vector< float > > m_eTthr
Definition: TrigEgammaPrecisionPhotonHypoTool.h:34
TrigEgammaPrecisionPhotonHypoTool::m_decisionId
HLT::Identifier m_decisionId
Definition: TrigEgammaPrecisionPhotonHypoTool.h:30
TrigEgammaPrecisionPhotonHypoTool::m_etabin
Gaudi::Property< std::vector< float > > m_etabin
selection variable for PRECISION calo selection:eta bins
Definition: TrigEgammaPrecisionPhotonHypoTool.h:33
GenericMonitoringTool.h
TrigEgammaPrecisionPhotonHypoTool::decide
virtual StatusCode decide(std::vector< ITrigEgammaPrecisionPhotonHypoTool::PhotonInfo > &input) const override
lumiFormat.i
int i
Definition: lumiFormat.py:92
TrigEgammaPrecisionPhotonHypoTool::initialize
virtual StatusCode initialize() override
Definition: TrigEgammaPrecisionPhotonHypoTool.cxx:26
TrigEgammaPrecisionPhotonHypoTool::TrigEgammaPrecisionPhotonHypoTool
TrigEgammaPrecisionPhotonHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TrigEgammaPrecisionPhotonHypoTool.cxx:18
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TrigEgammaPrecisionPhotonHypoTool::m_dphicluster
Gaudi::Property< float > m_dphicluster
Definition: TrigEgammaPrecisionPhotonHypoTool.h:36
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
HLT::Identifier
Definition: TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:20
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TrigEgammaPrecisionPhotonHypoTool
Definition: TrigEgammaPrecisionPhotonHypoTool.h:19
EventInfo.h
ITrigEgammaPrecisionPhotonHypoTool.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TrigEgammaPrecisionPhotonHypoTool::findCutIndex
int findCutIndex(float eta) const
Definition: TrigEgammaPrecisionPhotonHypoTool.cxx:242
HLTIdentifier.h
ReadDecorHandle.h
Handle class for reading a decoration on an object.
TrigEgammaPrecisionPhotonHypoTool::m_avgMuKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_avgMuKey
Definition: TrigEgammaPrecisionPhotonHypoTool.h:47
TrigEgammaPrecisionPhotonHypoTool::m_pidName
Gaudi::Property< std::string > m_pidName
Definition: TrigEgammaPrecisionPhotonHypoTool.h:41
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition: StoreGate/StoreGate/ReadDecorHandleKey.h:85
ITrigEgammaPrecisionPhotonHypoTool::PhotonInfo
Definition: ITrigEgammaPrecisionPhotonHypoTool.h:25