ATLAS Offline Software
Loading...
Searching...
No Matches
LArCellEmMiscalib.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef LARCELLREC_LARCELLEMMISCALIB_H
6#define LARCELLREC_LARCELLEMMISCALIB_H
7
16
17#include <utility>
18#include <vector>
19
22
24
26
27class LArEM_ID;
28class CaloIdManager;
29
30namespace CLHEP {
31 class HepRandomEngine;
32}
33
35
36{
37
38 public:
39
40 LArCellEmMiscalib(const std::string& type,
41 const std::string& name,
42 const IInterface* parent) ;
43
44 virtual ~LArCellEmMiscalib()=default;
45
47 virtual StatusCode initialize() override;
48
49 virtual void MakeCorrection (CaloCell* theCell,
50 const EventContext& ctx) const override;
51
52 private:
53
54 static int region(int barrelec, double eta, double phi);
55 void smearingPerRegion (CLHEP::HepRandomEngine* engine);
56
58 const CaloIdManager* m_caloIdMgr = nullptr;
60
62 { this, "RndmSvc", "AthRNGSvc", "" };
63
64 int m_seed;
67 bool m_undo;
68
69 unsigned int m_ncellem;
70 std::vector<float> m_spread1;
71 std::vector<float> m_calib;
72
73 mutable std::once_flag m_initOnce;
74 void initOnce (const EventContext& ctx);
75 SG::ReadCondHandleKey<CaloDetDescrManager> m_caloMgrKey{this,"CaloDetDescrManager", "CaloDetDescrManager"};
76};
77
78#endif // not LARCELLREC_LARCELLEMMISCALIB_H
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
Definition of CaloDetDescrManager.
Data object for each calorimeter readout cell.
Definition CaloCell.h:57
This class provides the client interface for accessing the detector description information common to...
This class initializes the Calo (LAr and Tile) offline identifiers.
std::vector< float > m_spread1
std::once_flag m_initOnce
LArCellEmMiscalib(const std::string &type, const std::string &name, const IInterface *parent)
static int region(int barrelec, double eta, double phi)
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
const CaloDetDescrManager * m_calodetdescrmgr
void initOnce(const EventContext &ctx)
virtual void MakeCorrection(CaloCell *theCell, const EventContext &ctx) const override
virtual StatusCode initialize() override
Constructor.
std::vector< float > m_calib
const LArEM_ID * m_larem_id
void smearingPerRegion(CLHEP::HepRandomEngine *engine)
virtual ~LArCellEmMiscalib()=default
ServiceHandle< IAthRNGSvc > m_rngSvc
const CaloIdManager * m_caloIdMgr
Helper class for LArEM offline identifiers.
Definition LArEM_ID.h:111