ATLAS Offline Software
LArMinBiasAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 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 
22 
23 
26 
27 
28 class TTree;
29 class LArEM_ID;
30 class CaloCell_ID;
31 class ITHistSvc;
32 
33 
34 #define MAX_SYM_CELLS 3000
35 
36  class LArMinBiasAlg : public AthAlgorithm {
37  public:
38  //Gaudi style constructor and execution methods
40  LArMinBiasAlg(const std::string& name, ISvcLocator* pSvcLocator);
43 
44  virtual StatusCode initialize() override;
45  virtual StatusCode execute() override;
46  virtual StatusCode finalize() override;
47  virtual StatusCode stop() override;
48 
49 
50  private:
51 
52  void fillNtuple();
53  void addCell(int index, double e1, double e2, double wt=1. );
54 
55  //---------------------------------------------------
56  // Member variables
57  //---------------------------------------------------
63  { this, "MCSymKey", "LArMCSym", "SG Key of LArMCSym object" };
64  SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
65 
67  , "CaloDetDescrManager"
68  , "CaloDetDescrManager"
69  , "SG Key for CaloDetDescrManager in the Condition Store" };
70 
71  const LArEM_ID* m_larem_id = nullptr;
72  const CaloCell_ID* m_calo_id = nullptr;
73  std::vector<double> m_eCell;
74 
75 
76  ITHistSvc* m_thistSvc = nullptr;
77  TTree* m_tree = nullptr;
78  int m_nevt_total = 0;
79  int m_n1 = 0;
80  int m_n2 = 0;
81 
82 // FIXME Total maximum array size for ntuple hardcoded... not very nice
83  int m_nsymcell = 0;
84  double m_nevt[MAX_SYM_CELLS]{};
89  float m_eta[MAX_SYM_CELLS]{};
90  float m_phi[MAX_SYM_CELLS]{};
92  double m_rms[MAX_SYM_CELLS]{};
94 
95 
96  struct CellInfo {
97  int layer;
98  int region;
99  int ieta;
100  float eta;
101  float phi;
103  double nevt;
104  double average;
105  double rms;
106  double offset;
107  };
108  std::vector<CellInfo> m_CellList;
109  std::vector<int> m_symCellIndex;
110  float m_first;
111  int m_ncell = 0;
112  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey{this,"EvtInfo", "EventInfo", "EventInfo name"};
113  };
114 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
LArMinBiasAlg::CellInfo::average
double average
Definition: LArMinBiasAlg.h:104
LArMinBiasAlg::m_mcSymKey
SG::ReadCondHandleKey< LArMCSym > m_mcSymKey
Definition: LArMinBiasAlg.h:63
LArMinBiasAlg::LArMinBiasAlg
LArMinBiasAlg(const std::string &name, ISvcLocator *pSvcLocator)
Standard Athena-Algorithm Constructor.
Definition: LArMinBiasAlg.cxx:21
LArMinBiasAlg::m_nsymcell
int m_nsymcell
Definition: LArMinBiasAlg.h:83
LArMinBiasAlg::m_eCell
std::vector< double > m_eCell
Definition: LArMinBiasAlg.h:73
LArMinBiasAlg::addCell
void addCell(int index, double e1, double e2, double wt=1.)
Definition: LArMinBiasAlg.cxx:247
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:58
LArMinBiasAlg::m_nevt
double m_nevt[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:84
LArMinBiasAlg::m_offset
double m_offset[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:93
LArMinBiasAlg::m_nevt_total
int m_nevt_total
Definition: LArMinBiasAlg.h:78
LArMinBiasAlg::m_tree
TTree * m_tree
Definition: LArMinBiasAlg.h:77
LArMinBiasAlg::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: LArMinBiasAlg.h:112
LArMinBiasAlg::m_larem_id
const LArEM_ID * m_larem_id
Definition: LArMinBiasAlg.h:71
LArMinBiasAlg::m_n2
int m_n2
Definition: LArMinBiasAlg.h:80
LArMinBiasAlg::m_rms
double m_rms[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:92
SG::ReadHandleKey< xAOD::EventInfo >
LArMinBiasAlg::m_n1
int m_n1
Definition: LArMinBiasAlg.h:79
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
LArMinBiasAlg::m_weight_lowPt
double m_weight_lowPt
Definition: LArMinBiasAlg.h:60
LArMinBiasAlg::CellInfo::phi
float phi
Definition: LArMinBiasAlg.h:101
LArMinBiasAlg::m_weight_highPt
double m_weight_highPt
Definition: LArMinBiasAlg.h:61
AthAlgorithm.h
LArMinBiasAlg::m_CellList
std::vector< CellInfo > m_CellList
Definition: LArMinBiasAlg.h:108
LArOnOffIdMapping.h
LArMinBiasAlg::m_identifier
int m_identifier[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:87
LArMinBiasAlg::CellInfo::identifier
Identifier identifier
Definition: LArMinBiasAlg.h:102
MAX_SYM_CELLS
#define MAX_SYM_CELLS
Definition: LArMinBiasAlg.h:34
LArMinBiasAlg::fillNtuple
void fillNtuple()
Definition: LArMinBiasAlg.cxx:277
LArMinBiasAlg::finalize
virtual StatusCode finalize() override
Definition: LArMinBiasAlg.cxx:99
LArMinBiasAlg::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: LArMinBiasAlg.h:66
LArMinBiasAlg::initialize
virtual StatusCode initialize() override
Definition: LArMinBiasAlg.cxx:39
LArMinBiasAlg::m_average
double m_average[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:91
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
LArMinBiasAlg::m_thistSvc
ITHistSvc * m_thistSvc
Definition: LArMinBiasAlg.h:76
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:97
LArMinBiasAlg::m_calo_id
const CaloCell_ID * m_calo_id
Definition: LArMinBiasAlg.h:72
LArMinBiasAlg::execute
virtual StatusCode execute() override
Definition: LArMinBiasAlg.cxx:106
LArMinBiasAlg::m_ncell
int m_ncell
Definition: LArMinBiasAlg.h:111
LArMinBiasAlg::~LArMinBiasAlg
~LArMinBiasAlg()
Default Destructor.
LArMinBiasAlg::CellInfo
Definition: LArMinBiasAlg.h:96
LArMinBiasAlg::CellInfo::region
int region
Definition: LArMinBiasAlg.h:98
CaloCell_ID
Helper class for offline cell identifiers.
Definition: CaloCell_ID.h:34
LArMinBiasAlg::m_symCellIndex
std::vector< int > m_symCellIndex
Definition: LArMinBiasAlg.h:109
AthAlgorithm
Definition: AthAlgorithm.h:47
LArMinBiasAlg::CellInfo::nevt
double nevt
Definition: LArMinBiasAlg.h:103
LArMinBiasAlg
Definition: LArMinBiasAlg.h:36
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
LArMinBiasAlg::CellInfo::rms
double rms
Definition: LArMinBiasAlg.h:105
LArMinBiasAlg::CellInfo::offset
double offset
Definition: LArMinBiasAlg.h:106
LArMinBiasAlg::m_first
float m_first
Definition: LArMinBiasAlg.h:110
LArMinBiasAlg::CellInfo::eta
float eta
Definition: LArMinBiasAlg.h:100
EventInfo.h
SG::ReadCondHandleKey< LArMCSym >
LArMinBiasAlg::m_phi
float m_phi[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:90
LArMinBiasAlg::stop
virtual StatusCode stop() override
Definition: LArMinBiasAlg.cxx:91
egammaEnergyPositionAllSamples::e2
double e2(const xAOD::CaloCluster &cluster)
return the uncorrected cluster energy in 2nd sampling
LArMinBiasAlg::m_region
int m_region[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:86
LArMinBiasAlg::m_ieta
int m_ieta[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:88
LArMinBiasAlg::m_layer
int m_layer[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:85
LArEM_ID
Helper class for LArEM offline identifiers.
Definition: LArEM_ID.h:118
LArMinBiasAlg::CellInfo::ieta
int ieta
Definition: LArMinBiasAlg.h:99
LArMinBiasAlg::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArMinBiasAlg.h:64
LArMCSym.h
LArMinBiasAlg::m_eta
float m_eta[MAX_SYM_CELLS]
Definition: LArMinBiasAlg.h:89
LArMinBiasAlg::m_datasetID_highPt
int m_datasetID_highPt
Definition: LArMinBiasAlg.h:59