ATLAS Offline Software
ElectronSiHitDecAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // ElectronSiHitDecAlg
7 // Author: RD Schaffer, R.D.Schaffer@cern.ch
8 // Algorithm to decorate SiHit electrons with extra information
9 // from tracks and clusters to avoid writing them out
11 
12 #ifndef ASG_ANALYSIS_ALGORITHMS__ELECTRON_SIHIT_DEC_ALGORITHM__H
13 #define ASG_ANALYSIS_ALGORITHMS__ELECTRON_SIHIT_DEC_ALGORITHM__H
14 
19 #include "xAODMuon/MuonContainer.h"
22 
23 
24 namespace CP
25 {
28  {
30  public:
31  ElectronSiHitDecAlg(const std::string &name,
32  ISvcLocator *pSvcLocator);
33 
34  StatusCode initialize() override;
35  StatusCode execute() override;
36 
37  private:
38 
41 
42  // EventInfo key
43  SysReadHandle<xAOD::EventInfo> m_eventInfoKey{this, "EventInfo", "EventInfo", "Input event information"};
44 
45  // Primary vertex key
46  SysReadHandle<xAOD::VertexContainer> m_vertexKey{this, "VertexContainer", "PrimaryVertices", "Primary vertex container"};
47 
48  // Electron container key
49  SysReadHandle<xAOD::ElectronContainer> m_electronContainerKey{this, "ElectronContainer", "AnalysisSiHitElectrons", "Sihit electrons to decorate"};
50 
51  // Muon container key for event selection
52  SysReadHandle<xAOD::MuonContainer> m_analMuonContKey{this, "AnalMuonContKey", "AnalysisMuons", "Muons use for event selection to decorate SiHit electrons"};
53 
54  // Electron container key for event selection
55  SysReadHandle<xAOD::ElectronContainer> m_analElectronContKey{this, "AnalElectronContKey", "AnalysisElectrons", "Electrons use for event selection to decorate SiHit electrons"};
56 
57  // Apply event veto - require at least two muons or electrons to be present
58  Gaudi::Property<bool> m_requireTwoLeptons {this, "RequireTwoLeptons", true, "boolean to select events with at least a pair of electrons or muons which pass the basic cuts, i.e. are in their corresponding analysis containers"};
59 
61  CP::SysWriteDecorHandle<float> m_z0stheta{this, "z0stheta", "z0stheta", "the decoration for z0 x sin(theta) of electron track"};
62  CP::SysWriteDecorHandle<float> m_d0Normalized{this, "d0Normalized", "d0Normalized", "the decoration for d0Normalized of the electron track"};
63  CP::SysWriteDecorHandle<int> m_nInnerExpPix{this, "nInnerExpPix", "nInnerExpPix", "the decoration for number of inner pixel hits of the electron track"};
64  CP::SysWriteDecorHandle<float> m_clEta{this, "clEta", "clEta", "the decoration for eta of the electron cluster"};
65  CP::SysWriteDecorHandle<float> m_clPhi{this, "clPhi", "clPhi", "the decoration for phi of the electron cluster"};
66 
68  CP::SysWriteDecorHandle<uint32_t> m_evtOKDec{this, "selectionName", "", "the decoration for the combined WP and FSR selection"};
69 
70  };
71 }
72 #endif
CP::ElectronSiHitDecAlg::m_vertexKey
SysReadHandle< xAOD::VertexContainer > m_vertexKey
Definition: ElectronSiHitDecAlg.h:46
CP::SysListHandle
a class managing the property to configure the list of systematics to process
Definition: SysListHandle.h:33
SysWriteDecorHandle.h
CP::ElectronSiHitDecAlg::initialize
StatusCode initialize() override
Definition: ElectronSiHitDecAlg.cxx:24
CP::ElectronSiHitDecAlg
this decorates electrons with extra information from the track and cluster to avoid writing them out ...
Definition: ElectronSiHitDecAlg.h:28
CP::ElectronSiHitDecAlg::execute
StatusCode execute() override
Definition: ElectronSiHitDecAlg.cxx:58
CP::ElectronSiHitDecAlg::m_analElectronContKey
SysReadHandle< xAOD::ElectronContainer > m_analElectronContKey
Definition: ElectronSiHitDecAlg.h:55
CP::ElectronSiHitDecAlg::m_clPhi
CP::SysWriteDecorHandle< float > m_clPhi
Definition: ElectronSiHitDecAlg.h:65
CP::ElectronSiHitDecAlg::m_clEta
CP::SysWriteDecorHandle< float > m_clEta
Definition: ElectronSiHitDecAlg.h:64
CP::ElectronSiHitDecAlg::ElectronSiHitDecAlg
ElectronSiHitDecAlg(const std::string &name, ISvcLocator *pSvcLocator)
the standard constructor
Definition: ElectronSiHitDecAlg.cxx:19
CP::SysReadHandle
a data handle for reading systematics varied input data
Definition: SysReadHandle.h:32
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
SysReadHandle.h
AnaAlgorithm.h
CP::ElectronSiHitDecAlg::m_requireTwoLeptons
Gaudi::Property< bool > m_requireTwoLeptons
Definition: ElectronSiHitDecAlg.h:58
CP::ElectronSiHitDecAlg::m_d0Normalized
CP::SysWriteDecorHandle< float > m_d0Normalized
Definition: ElectronSiHitDecAlg.h:62
CP::ElectronSiHitDecAlg::m_evtOKDec
CP::SysWriteDecorHandle< uint32_t > m_evtOKDec
Decorator for SiHit electron for event requirement on a pair of leptons.
Definition: ElectronSiHitDecAlg.h:68
EL::AnaAlgorithm
the (new) base class for EventLoop algorithms
Definition: AnaAlgorithm.h:73
CP::ElectronSiHitDecAlg::m_z0stheta
CP::SysWriteDecorHandle< float > m_z0stheta
Decorators for the extra information from clusters and tracks for SiHit electrons.
Definition: ElectronSiHitDecAlg.h:61
ElectronContainer.h
CP::ElectronSiHitDecAlg::m_analMuonContKey
SysReadHandle< xAOD::MuonContainer > m_analMuonContKey
Definition: ElectronSiHitDecAlg.h:52
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CP::ElectronSiHitDecAlg::m_electronContainerKey
SysReadHandle< xAOD::ElectronContainer > m_electronContainerKey
Definition: ElectronSiHitDecAlg.h:49
CP::ElectronSiHitDecAlg::m_systematicsList
SysListHandle m_systematicsList
the systematics list we run
Definition: ElectronSiHitDecAlg.h:40
CP::ElectronSiHitDecAlg::m_nInnerExpPix
CP::SysWriteDecorHandle< int > m_nInnerExpPix
Definition: ElectronSiHitDecAlg.h:63
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
EventInfo.h
MuonContainer.h
CP::ElectronSiHitDecAlg::m_eventInfoKey
SysReadHandle< xAOD::EventInfo > m_eventInfoKey
Definition: ElectronSiHitDecAlg.h:43
VertexContainer.h
CP::SysWriteDecorHandle< float >