Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
LArMinBiasAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
9 #ifndef CALOCONDPHYSALGS_LARMINBIASALG_H
10 #define CALOCONDPHYSALGS_LARMINBIASALG_H
11 
12 #include <string>
13 
14 // Gaudi includes
15 
17 #include "GaudiKernel/ToolHandle.h"
20 
23 
25 
28 
29 
30 class TTree;
31 class LArEM_ID;
32 class CaloCell_ID;
33 class ITHistSvc;
34 
35 
36 #define MAX_SYM_CELLS 3000
37 
38  class LArMinBiasAlg : public AthAlgorithm {
39  public:
40  //Gaudi style constructor and execution methods
42  LArMinBiasAlg(const std::string& name, ISvcLocator* pSvcLocator);
45 
46  virtual StatusCode initialize() override;
47  virtual StatusCode execute() override;
48  virtual StatusCode finalize() override;
49  virtual StatusCode stop() override;
50 
51 
52  private:
53 
54  void fillNtuple();
55  void addCell(int index, double e1, double e2, double wt=1. );
56 
57  //---------------------------------------------------
58  // Member variables
59  //---------------------------------------------------
65  { this, "MCSymKey", "LArMCSym", "SG Key of LArMCSym object" };
66  SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
67 
69  , "CaloDetDescrManager"
70  , "CaloDetDescrManager"
71  , "SG Key for CaloDetDescrManager in the Condition Store" };
72 
74  , "CaloSuperCellDetDescrManager"
75  , "CaloSuperCellDetDescrManager"
76  , "SG Key for CaloSuperCellDetDescrManager in the Condition Store" };
77 
78  const CaloCell_Base_ID* m_calo_id = nullptr;
79 
80  std::vector<double> m_eCell;
81 
82 
83  ServiceHandle<ITHistSvc> m_thistSvc{this,"THistSvc","THistSvc"};
84  TTree* m_tree = nullptr;
85  int m_nevt_total = 0;
86  int m_n1 = 0;
87  int m_n2 = 0;
88 
89 // FIXME Total maximum array size for ntuple hardcoded... not very nice
90  int m_nsymcell = 0;
91  double m_nevt[MAX_SYM_CELLS]{};
96  float m_eta[MAX_SYM_CELLS]{};
97  float m_phi[MAX_SYM_CELLS]{};
99  double m_rms[MAX_SYM_CELLS]{};
101 
102 
103  struct CellInfo {
104  int layer;
105  int region;
106  int ieta;
107  float eta;
108  float phi;
110  double nevt;
111  double average;
112  double rms;
113  double offset;
114  };
115  std::vector<CellInfo> m_CellList;
116  std::vector<int> m_symCellIndex;
117  float m_first;
118  int m_ncell = 0;
119  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this,"EvtInfo", "EventInfo", "EventInfo name"};
120  StringArrayProperty m_inputKeys{this, "InputHitContainers", {"LArHitEMB", "LArHitEMEC", "LArHitHEC", "LArHitFCAL"},
121  "Name of input hit vectors (default=[LArHitEMB, LArHitEMEC, LArHitHEC, LArHitFCAL])" };
123  BooleanProperty m_isSC {this, "SuperCell", false, "Creating for SC ?"};
124  ToolHandle<ICaloSuperCellIDTool> m_scidtool{this, "CaloSuperCellIDTool", "CaloSuperCellIDTool", "Offline / SuperCell ID mapping tool"};
125  };
126 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
LArMinBiasAlg::CellInfo::average
double average
Definition: LArMinBiasAlg.h:111
LArMinBiasAlg::m_mcSymKey
SG::ReadCondHandleKey< LArMCSym > m_mcSymKey
Definition: LArMinBiasAlg.h:65
LArMinBiasAlg::LArMinBiasAlg
LArMinBiasAlg(const std::string &name, ISvcLocator *pSvcLocator)
Standard Athena-Algorithm Constructor.
Definition: LArMinBiasAlg.cxx:22
LArMinBiasAlg::m_nsymcell
int m_nsymcell
Definition: LArMinBiasAlg.h:90
LArMinBiasAlg::m_eCell
std::vector< double > m_eCell
Definition: LArMinBiasAlg.h:80
LArMinBiasAlg::addCell
void addCell(int index, double e1, double e2, double wt=1.)
Definition: LArMinBiasAlg.cxx:274
egammaEnergyPositionAllSamples::e1
double e1(const xAOD::CaloCluster &cluster)
return the uncorrected cluster energy in 1st sampling
index
Definition: index.py:1
LArMinBiasAlg::m_datasetID_lowPt
int m_datasetID_lowPt
Definition: LArMinBiasAlg.h:60
LArMinBiasAlg::m_scidtool
ToolHandle< ICaloSuperCellIDTool > m_scidtool
Definition: LArMinBiasAlg.h:124
LArMinBiasAlg::m_nevt
double m_nevt[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:91
LArMinBiasAlg::m_offset
double m_offset[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:100
LArMinBiasAlg::m_nevt_total
int m_nevt_total
Definition: LArMinBiasAlg.h:85
LArMinBiasAlg::m_tree
TTree * m_tree
Definition: LArMinBiasAlg.h:84
LArMinBiasAlg::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: LArMinBiasAlg.h:119
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
LArMinBiasAlg::m_n2
int m_n2
Definition: LArMinBiasAlg.h:87
LArMinBiasAlg::m_rms
double m_rms[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:99
SG::ReadHandleKey< xAOD::EventInfo >
LArMinBiasAlg::m_n1
int m_n1
Definition: LArMinBiasAlg.h:86
ICaloSuperCellIDTool.h
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
LArMinBiasAlg::m_weight_lowPt
double m_weight_lowPt
Definition: LArMinBiasAlg.h:62
LArMinBiasAlg::CellInfo::phi
float phi
Definition: LArMinBiasAlg.h:108
LArMinBiasAlg::m_caloSCMgrKey
SG::ReadCondHandleKey< CaloSuperCellDetDescrManager > m_caloSCMgrKey
Definition: LArMinBiasAlg.h:73
LArMinBiasAlg::m_weight_highPt
double m_weight_highPt
Definition: LArMinBiasAlg.h:63
AthAlgorithm.h
LArMinBiasAlg::m_CellList
std::vector< CellInfo > m_CellList
Definition: LArMinBiasAlg.h:115
LArOnOffIdMapping.h
LArMinBiasAlg::m_identifier
int m_identifier[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:94
LArMinBiasAlg::CellInfo::identifier
Identifier identifier
Definition: LArMinBiasAlg.h:109
MAX_SYM_CELLS
#define MAX_SYM_CELLS
Definition: LArMinBiasAlg.h:36
LArMinBiasAlg::fillNtuple
void fillNtuple()
Definition: LArMinBiasAlg.cxx:304
LArMinBiasAlg::m_isSC
BooleanProperty m_isSC
Definition: LArMinBiasAlg.h:123
LArMinBiasAlg::finalize
virtual StatusCode finalize() override
Definition: LArMinBiasAlg.cxx:109
LArMinBiasAlg::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: LArMinBiasAlg.h:68
LArMinBiasAlg::initialize
virtual StatusCode initialize() override
Definition: LArMinBiasAlg.cxx:40
LArMinBiasAlg::m_average
double m_average[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:98
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArMinBiasAlg::CellInfo::layer
int layer
Definition: LArMinBiasAlg.h:104
LArMinBiasAlg::execute
virtual StatusCode execute() override
Definition: LArMinBiasAlg.cxx:116
LArMinBiasAlg::m_ncell
int m_ncell
Definition: LArMinBiasAlg.h:118
LArMinBiasAlg::~LArMinBiasAlg
~LArMinBiasAlg()
Default Destructor.
LArMinBiasAlg::CellInfo
Definition: LArMinBiasAlg.h:103
LArMinBiasAlg::CellInfo::region
int region
Definition: LArMinBiasAlg.h:105
CaloCell_ID
Helper class for offline cell identifiers.
Definition: CaloCell_ID.h:34
LArMinBiasAlg::m_symCellIndex
std::vector< int > m_symCellIndex
Definition: LArMinBiasAlg.h:116
AthAlgorithm
Definition: AthAlgorithm.h:47
LArMinBiasAlg::CellInfo::nevt
double nevt
Definition: LArMinBiasAlg.h:110
LArMinBiasAlg
Definition: LArMinBiasAlg.h:38
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
LArMinBiasAlg::CellInfo::rms
double rms
Definition: LArMinBiasAlg.h:112
LArMinBiasAlg::CellInfo::offset
double offset
Definition: LArMinBiasAlg.h:113
LArMinBiasAlg::m_first
float m_first
Definition: LArMinBiasAlg.h:117
LArMinBiasAlg::m_thistSvc
ServiceHandle< ITHistSvc > m_thistSvc
Definition: LArMinBiasAlg.h:83
LArMinBiasAlg::CellInfo::eta
float eta
Definition: LArMinBiasAlg.h:107
EventInfo.h
LArMinBiasAlg::m_calo_id
const CaloCell_Base_ID * m_calo_id
Definition: LArMinBiasAlg.h:78
LArMinBiasAlg::m_larHitKeys
SG::ReadHandleKeyArray< LArHitContainer > m_larHitKeys
Definition: LArMinBiasAlg.h:122
SG::ReadCondHandleKey< LArMCSym >
LArMinBiasAlg::m_phi
float m_phi[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:97
LArMinBiasAlg::stop
virtual StatusCode stop() override
Definition: LArMinBiasAlg.cxx:101
egammaEnergyPositionAllSamples::e2
double e2(const xAOD::CaloCluster &cluster)
return the uncorrected cluster energy in 2nd sampling
LArHitContainer.h
LArMinBiasAlg::m_region
int m_region[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:93
LArMinBiasAlg::m_ieta
int m_ieta[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:95
LArMinBiasAlg::m_layer
int m_layer[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:92
LArEM_ID
Helper class for LArEM offline identifiers.
Definition: LArEM_ID.h:118
LArMinBiasAlg::CellInfo::ieta
int ieta
Definition: LArMinBiasAlg.h:106
CaloCell_Base_ID
Helper base class for offline cell identifiers.
Definition: CaloCell_Base_ID.h:41
LArMinBiasAlg::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArMinBiasAlg.h:66
LArMCSym.h
LArMinBiasAlg::m_eta
float m_eta[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:96
LArMinBiasAlg::m_datasetID_highPt
int m_datasetID_highPt
Definition: LArMinBiasAlg.h:61
LArMinBiasAlg::m_inputKeys
StringArrayProperty m_inputKeys
Definition: LArMinBiasAlg.h:120
ServiceHandle< ITHistSvc >
Identifier
Definition: IdentifierFieldParser.cxx:14