ATLAS Offline Software
TrigEgammaMonitorTagAndProbeAlgorithm.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef TrigEgammaMonitorTagAndProbeAlgorithm_H
5 #define TrigEgammaMonitorTagAndProbeAlgorithm_H
6 
9 
10 
11 
12 
14 {
15 
16  public:
17 
18  TrigEgammaMonitorTagAndProbeAlgorithm( const std::string& name, ISvcLocator* pSvcLocator );
19 
20  virtual ~TrigEgammaMonitorTagAndProbeAlgorithm() override;
21 
22  virtual StatusCode initialize() override;
23 
24  virtual StatusCode fillHistograms( const EventContext& ctx) const override;
25 
26 
27  protected:
28 
30  bool executeTandP( const EventContext& ctx, std::vector<std::shared_ptr<const xAOD::Electron>> & ) const;
31 
33  void matchObjects(const std::string& trigItem, std::vector<std::shared_ptr<const xAOD::Electron>>&,
34  std::vector<std::pair<const xAOD::Egamma*, const TrigCompositeUtils::Decision*>> &) const;
35 
36 
37 
38 
40  std::vector<std::string> m_trigList;
41 
42 
43  private:
44 
46  bool minimalTriggerRequirement () const;
48  bool isTagElectron( const ToolHandle<GenericMonitoringTool>& monGroup, const xAOD::Electron *el) const;
50  bool isGoodProbeElectron( const ToolHandle<GenericMonitoringTool>& monGroup, const xAOD::Electron *el, const xAOD::JetContainer *) const;
52  float getPseudoLifetime(const xAOD::Electron*,const xAOD::Electron*) const;
54  double simple_lxy(int ,double, double, double , double , double , double , double, double ) const;
56  void dressPid(const xAOD::Electron *eg) const;
57 
58 
63  Gaudi::Property<std::vector<std::string>> m_trigInputList{this, "TriggerList", {}};
65  Gaudi::Property<std::vector<std::string>> m_tagTrigList{ this, "TagTriggerList", {}};
67  Gaudi::Property<float> m_ZeeMassMin{ this, "ZeeLowerMass", 80};
69  Gaudi::Property<float> m_ZeeMassMax{ this, "ZeeUpperMass", 100};
71  Gaudi::Property<std::string> m_offTagTightness{ this, "OfflineTagSelector", "Tight"};
73  Gaudi::Property<std::string> m_offProbeTightness{ this, "OfflineProbeSelector", "Loose"};
75  Gaudi::Property<bool> m_oppositeCharge{ this, "OppositeCharge", true};
77  Gaudi::Property<float> m_tagMinEt{ this, "OfflineTagMinEt", 25};
79  Gaudi::Property<float> m_probeMinEt{this, "OfflineProbeMinEt", 4};
81  Gaudi::Property<std::string> m_offProbeIsolation{ this, "OfflineProbeIsolation", "Loose"};
83  Gaudi::Property<bool> m_rmCrack{this, "RemoveCrack", true};
85  Gaudi::Property<bool> m_applyMinimalTrigger{this, "ApplyMinimalTrigger", true};
87  Gaudi::Property<bool> m_applyJetNearProbeSelection{this, "ApplyJetNearProbeSelection", true};
89  Gaudi::Property<bool> m_doJpsiee{this,"DoJpsiee", false};
91  Gaudi::Property<std::string> m_anatype{ this, "Analysis","Zee"};
93  SG::ReadHandleKey<xAOD::ElectronContainer> m_offElectronKey{ this, "ElectronKey", "Electrons", ""};
95  SG::ReadHandleKey<xAOD::JetContainer> m_jetKey{ this, "JetKey" , "AntiKt4LCTopoJets", ""};
96  SG::ReadDecorHandleKey<xAOD::EventInfo> m_eventInfoDecorKey{this, "LArStatusFlag", "EventInfo.larFlags", "Key for EventInfo object"};
98  SG::ReadDecorHandleKey<xAOD::ElectronContainer> m_electronIsolationKeyPtCone20 { this, "PtCone20Decoration", m_offElectronKey, "ptcone20", "Decoration key for the ptcone20 isolation decoration" };
99 
100 };
101 
102 #endif
TrigEgammaMonitorTagAndProbeAlgorithm::m_anatype
Gaudi::Property< std::string > m_anatype
analysis name
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:91
python.TIDAMonTool.monGroup
def monGroup(analysis_chain)
Definition: TIDAMonTool.py:295
TrigEgammaMonitorTagAndProbeAlgorithm::m_trigInputList
Gaudi::Property< std::vector< std::string > > m_trigInputList
Properties.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:63
ReadDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
TrigEgammaMonitorTagAndProbeAlgorithm::m_doJpsiee
Gaudi::Property< bool > m_doJpsiee
do jpsiee tag and probe
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:89
ParticleTest.eg
eg
Definition: ParticleTest.py:29
TrigEgammaMonitorTagAndProbeAlgorithm::isGoodProbeElectron
bool isGoodProbeElectron(const ToolHandle< GenericMonitoringTool > &monGroup, const xAOD::Electron *el, const xAOD::JetContainer *) const
Probe selection.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.cxx:405
TrigEgammaMonitorTagAndProbeAlgorithm::m_ZeeMassMin
Gaudi::Property< float > m_ZeeMassMin
Zee lower mass cut.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:67
TrigEgammaMonitorTagAndProbeAlgorithm::TrigEgammaMonitorTagAndProbeAlgorithm
TrigEgammaMonitorTagAndProbeAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.cxx:36
TrigEgammaMonitorTagAndProbeAlgorithm::m_ZeeMassMax
Gaudi::Property< float > m_ZeeMassMax
Zee upper mass cut.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:69
TrigEgammaMonitorTagAndProbeAlgorithm::m_jetKey
SG::ReadHandleKey< xAOD::JetContainer > m_jetKey
Jet container for probe selection.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:95
TrigEgammaMonitorTagAndProbeAlgorithm::simple_lxy
double simple_lxy(int, double, double, double, double, double, double, double, double) const
Calculate the displacement of the Jpsi vertex w.r.t.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.cxx:519
TrigEgammaMonitorTagAndProbeAlgorithm::dressPid
void dressPid(const xAOD::Electron *eg) const
Rerun offline selection.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.cxx:464
TrigEgammaMonitorTagAndProbeAlgorithm::m_offTagTightness
Gaudi::Property< std::string > m_offTagTightness
Define the PID for tag electron.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:71
TrigEgammaMonitorTagAndProbeAlgorithm::m_eventInfoDecorKey
SG::ReadDecorHandleKey< xAOD::EventInfo > m_eventInfoDecorKey
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:96
TrigEgammaMonitorAnalysisAlgorithm.h
SG::ReadHandleKey< xAOD::ElectronContainer >
TrigEgammaMonitorTagAndProbeAlgorithm::~TrigEgammaMonitorTagAndProbeAlgorithm
virtual ~TrigEgammaMonitorTagAndProbeAlgorithm() override
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.cxx:43
TrigEgammaMonitorTagAndProbeAlgorithm::m_offElectronKey
SG::ReadHandleKey< xAOD::ElectronContainer > m_offElectronKey
Event Wise offline ElectronContainer Access and end iterator.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:93
TrigEgammaMonitorTagAndProbeAlgorithm::m_tagMinEt
Gaudi::Property< float > m_tagMinEt
Minimum tag Et.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:77
TrigEgammaMonitorTagAndProbeAlgorithm::matchObjects
void matchObjects(const std::string &trigItem, std::vector< std::shared_ptr< const xAOD::Electron >> &, std::vector< std::pair< const xAOD::Egamma *, const TrigCompositeUtils::Decision * >> &) const
Match probes called by derived classes.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.cxx:290
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TrigEgammaMonitorTagAndProbeAlgorithm::m_applyMinimalTrigger
Gaudi::Property< bool > m_applyMinimalTrigger
Enable the requirement of triggers.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:85
TrigEgammaMonitorTagAndProbeAlgorithm::executeTandP
bool executeTandP(const EventContext &ctx, std::vector< std::shared_ptr< const xAOD::Electron >> &) const
Tag and Probe method called by derived classes.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.cxx:131
TrigEgammaMonitorTagAndProbeAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.cxx:47
plotIsoValidation.el
el
Definition: plotIsoValidation.py:197
TrigEgammaMonitorTagAndProbeAlgorithm::minimalTriggerRequirement
bool minimalTriggerRequirement() const
at least one chain should pass.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.cxx:276
TrigEgammaMonitorTagAndProbeAlgorithm::getPseudoLifetime
float getPseudoLifetime(const xAOD::Electron *, const xAOD::Electron *) const
Return pseudo-lifetime of Jpsi.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.cxx:491
TrigEgammaMonitorTagAndProbeAlgorithm::m_rmCrack
Gaudi::Property< bool > m_rmCrack
Remove crack region for Probe default True.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:83
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
TrigEgammaMonitorTagAndProbeAlgorithm
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:14
TrigEgammaMonitorTagAndProbeAlgorithm::m_electronIsolationKeyPtCone20
SG::ReadDecorHandleKey< xAOD::ElectronContainer > m_electronIsolationKeyPtCone20
Ensure offline electron isolation decoration is retrieved after being created.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:98
TrigEgammaMonitorTagAndProbeAlgorithm::m_trigList
std::vector< std::string > m_trigList
List of triggers from menu after filter.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:40
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
xAOD::Electron_v1
Definition: Electron_v1.h:34
TrigEgammaMonitorTagAndProbeAlgorithm::m_offProbeTightness
Gaudi::Property< std::string > m_offProbeTightness
define the Pid of Probe from the user
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:73
TrigEgammaMonitorTagAndProbeAlgorithm::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.cxx:72
TrigEgammaMonitorTagAndProbeAlgorithm::isTagElectron
bool isTagElectron(const ToolHandle< GenericMonitoringTool > &monGroup, const xAOD::Electron *el) const
Tag Electron selection.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.cxx:305
TrigEgammaMonitorTagAndProbeAlgorithm::m_applyJetNearProbeSelection
Gaudi::Property< bool > m_applyJetNearProbeSelection
Apply nearby jet selection.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:87
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition: StoreGate/StoreGate/ReadDecorHandleKey.h:85
TrigEgammaMonitorAnalysisAlgorithm
Definition: TrigEgammaMonitorAnalysisAlgorithm.h:11
TrigEgammaMonitorTagAndProbeAlgorithm::m_tagTrigList
Gaudi::Property< std::vector< std::string > > m_tagTrigList
Tag trigger list.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:65
TrigEgammaMonitorTagAndProbeAlgorithm::m_oppositeCharge
Gaudi::Property< bool > m_oppositeCharge
Select opposite or same-sign pairs – for background studies.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:75
TrigEgammaMonitorTagAndProbeAlgorithm::m_offProbeIsolation
Gaudi::Property< std::string > m_offProbeIsolation
Probe isolation.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:81
TrigEgammaMonitorTagAndProbeAlgorithm::m_probeMinEt
Gaudi::Property< float > m_probeMinEt
Minimum probe Et.
Definition: TrigEgammaMonitorTagAndProbeAlgorithm.h:79