ATLAS Offline Software
L1CaloRampMaker.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 
3 /*
4  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef L1CALORAMPMAKER_H
8 #define L1CALORAMPMAKER_H
13 #include "GaudiKernel/ServiceHandle.h"
14 #include "GaudiKernel/ToolHandle.h"
18 
19 
23 #include <string>
24 #include <map>
25 #include <memory>
26 
27 // forward declarations
28 class Identifier;
29 class CaloLVL1_ID;
31 class L1CaloRampMaker;
32 namespace LVL1{
33  class IL1CaloOfflineTriggerTowerTools;
34  class IL1TriggerTowerToolRun3;
35  class IL1CaloxAODOfflineTriggerTowerTools;
36 }
37 
48 {
49  public:
50  L1CaloRampMaker(const std::string& name, ISvcLocator* pSvcLocator);
51  virtual ~L1CaloRampMaker();
52 
56 
57  private:
58  // properties
59  std::string m_triggerTowerContainerName; // name of transient TriggerTower container
60  std::string m_outputFolderName;
61  std::string m_gainStrategyFolder;
62  std::map<int, int> m_specialChannelRange; // upper limit for coolIds (sick TBB)
63  bool m_doLAr; // LAr calibration run
64  bool m_doTile; // Tile calibration run
65  bool m_isGain1; // correct energy for gain 1 runs
66  bool m_isOvEmb; // Overlap Barrel
67  bool m_isOvEmec; // Overlap EndCap
68  bool m_isFcalLowEta; // FCAL low eta run
69  bool m_isFcalHighEta; // FCAL high eta run
70  bool m_checkProvenance; // check if OFC iteration failed
71  unsigned int m_nEventsPerStep; // events per energy step
72  unsigned int m_nSteps; // number of energy steps
73  int m_fadcSaturationCut; // cut on FADC counts
74  double m_tileSaturationCut; // cut on Tile TT Et in GeV
75  ToolHandle<LVL1::IL1TriggerTowerToolRun3> m_ttTool; // Handle to L1TriggerTowerTool.
76 
77 
78  ToolHandle<LVL1::IL1CaloxAODOfflineTriggerTowerTools> m_xAODTTTools;
79  ToolHandle<LVL1::IL1CaloOfflineTriggerTowerTools> m_jmTools;
80 
81 
82  unsigned int m_nEvent;
84 
86 
87  std::unique_ptr<L1CaloRampDataContainer> m_rampDataContainer;
88 
89  void setupRampDataContainer(const xAOD::TriggerTowerContainer* triggerTowerContainer);
91  double getCaloEnergy(const xAOD::TriggerTower* tt);
93 
94 
95  // stores coolid vs. number of failed ofc iterations
96  std::map<unsigned int, std::pair<unsigned int, double> > m_mapBadOFCIteration;
97 
98  SG::ReadCondHandleKey<CondAttrListCollection> m_strategy{ this, "TRIGGER", "/TRIGGER/Receivers/Conditions/Strategy", "Strategy" };
99 
100  SG::ReadCondHandleKey<L1CaloPprChanCalibContainer> m_pprChanCalibContainer{ this, "InputKeyCond", "L1CaloPprChanCalibContainer"};
101  SG::ReadCondHandleKey<L1CaloPprDisabledChannelContainerRun2> m_pprDisabledChannelContainer{ this, "InputKeyDisabledChannel", "L1CaloPprDisabledChannelContainerRun2"};
102 
103 
104  SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
105  SG::ReadHandleKey<CaloCellContainer> m_caloCellsKey{ this, "CaloCellsKey", "AllCalo", "CaloCellContainer key" };
106 
107 
108 
109 
110 
111 
112 
113 
114 
115 
116 
117 
118 };
119 
120 #endif //L1CALORAMPMAKER_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
L1CaloPprDisabledChannelContainerRun2.h
L1CaloRampMaker::m_strategy
SG::ReadCondHandleKey< CondAttrListCollection > m_strategy
Definition: L1CaloRampMaker.h:98
L1CaloRampMaker::m_isOvEmb
bool m_isOvEmb
Definition: L1CaloRampMaker.h:66
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
L1CaloRampMaker::m_lvl1Helper
const CaloLVL1_ID * m_lvl1Helper
Definition: L1CaloRampMaker.h:85
L1CaloRampMaker::m_doTile
bool m_doTile
Definition: L1CaloRampMaker.h:64
TriggerTowerContainer.h
WriteCondHandleKey.h
L1CaloRampMaker::finalize
StatusCode finalize()
Definition: L1CaloRampMaker.cxx:394
L1CaloRampMaker::~L1CaloRampMaker
virtual ~L1CaloRampMaker()
Definition: L1CaloRampMaker.cxx:87
L1CaloRampMaker::m_doLAr
bool m_doLAr
Definition: L1CaloRampMaker.h:63
L1CaloRampMaker::m_mapBadOFCIteration
std::map< unsigned int, std::pair< unsigned int, double > > m_mapBadOFCIteration
Definition: L1CaloRampMaker.h:96
SG::ReadHandleKey< CaloCellContainer >
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
L1CaloPprChanCalibContainer.h
L1CaloRampMaker::checkProvenance
void checkProvenance(const xAOD::TriggerTower *tt)
Definition: L1CaloRampMaker.cxx:377
L1CaloRampMaker::m_nEvent
unsigned int m_nEvent
Definition: L1CaloRampMaker.h:82
L1CaloRampMaker::m_specialChannelRange
std::map< int, int > m_specialChannelRange
Definition: L1CaloRampMaker.h:62
AthAlgorithm.h
L1CaloRampMaker::m_pprDisabledChannelContainer
SG::ReadCondHandleKey< L1CaloPprDisabledChannelContainerRun2 > m_pprDisabledChannelContainer
Definition: L1CaloRampMaker.h:101
LArOnOffIdMapping.h
L1CaloRampMaker::m_caloCellsKey
SG::ReadHandleKey< CaloCellContainer > m_caloCellsKey
Definition: L1CaloRampMaker.h:105
L1CaloRampMaker::m_tileSaturationCut
double m_tileSaturationCut
Definition: L1CaloRampMaker.h:74
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
L1CaloRampMaker::m_nSteps
unsigned int m_nSteps
Definition: L1CaloRampMaker.h:72
L1CaloRampMaker::m_isGain1
bool m_isGain1
Definition: L1CaloRampMaker.h:65
L1CaloRampMaker::L1CaloRampMaker
L1CaloRampMaker(const std::string &name, ISvcLocator *pSvcLocator)
Definition: L1CaloRampMaker.cxx:42
xAOD::TriggerTower_v2
Description of TriggerTower_v2.
Definition: TriggerTower_v2.h:49
L1CaloRampMaker::m_fadcSaturationCut
int m_fadcSaturationCut
Definition: L1CaloRampMaker.h:73
L1CaloRampDataContainer
Container of L1CaloRampData objects.
Definition: L1CaloRampDataContainer.h:23
L1CaloRampMaker::getTriggerTowerEnergy
double getTriggerTowerEnergy(const xAOD::TriggerTower *tt, SG::ReadCondHandle< L1CaloPprChanCalibContainer > pprCond)
Definition: L1CaloRampMaker.cxx:338
L1CaloRampMaker::m_ttTool
ToolHandle< LVL1::IL1TriggerTowerToolRun3 > m_ttTool
Definition: L1CaloRampMaker.h:75
CondHandleKeyArray.h
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
L1CaloRampMaker::m_isFcalHighEta
bool m_isFcalHighEta
Definition: L1CaloRampMaker.h:69
AthAlgorithm
Definition: AthAlgorithm.h:47
L1CaloRampMaker::m_pprChanCalibContainer
SG::ReadCondHandleKey< L1CaloPprChanCalibContainer > m_pprChanCalibContainer
Definition: L1CaloRampMaker.h:100
CaloLVL1_ID
Helper class for offline TT identifiers.
Definition: CaloLVL1_ID.h:66
L1CaloRampMaker::initialize
StatusCode initialize()
Definition: L1CaloRampMaker.cxx:91
L1CaloRampMaker::m_firstEvent
bool m_firstEvent
Definition: L1CaloRampMaker.h:83
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
L1CaloRampMaker::m_checkProvenance
bool m_checkProvenance
Definition: L1CaloRampMaker.h:70
L1CaloRampMaker::m_outputFolderName
std::string m_outputFolderName
Definition: L1CaloRampMaker.h:60
CaloCellContainer.h
L1CaloRampMaker::m_gainStrategyFolder
std::string m_gainStrategyFolder
Definition: L1CaloRampMaker.h:61
L1CaloRampMaker
Definition: L1CaloRampMaker.py:1
SG::ReadCondHandleKey< CondAttrListCollection >
L1CaloRampMaker::setupRampDataContainer
void setupRampDataContainer(const xAOD::TriggerTowerContainer *triggerTowerContainer)
Definition: L1CaloRampMaker.cxx:286
L1CaloRampMaker::execute
StatusCode execute()
Definition: L1CaloRampMaker.cxx:116
L1CaloRampMaker::m_rampDataContainer
std::unique_ptr< L1CaloRampDataContainer > m_rampDataContainer
Definition: L1CaloRampMaker.h:87
L1CaloRampMaker::m_isFcalLowEta
bool m_isFcalLowEta
Definition: L1CaloRampMaker.h:68
L1CaloRampMaker::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: L1CaloRampMaker.h:104
L1CaloRampMaker::m_isOvEmec
bool m_isOvEmec
Definition: L1CaloRampMaker.h:67
TriggerTowerCollection.h
L1CaloRampMaker::m_xAODTTTools
ToolHandle< LVL1::IL1CaloxAODOfflineTriggerTowerTools > m_xAODTTTools
Definition: L1CaloRampMaker.h:78
L1CaloRampMaker::m_nEventsPerStep
unsigned int m_nEventsPerStep
Definition: L1CaloRampMaker.h:71
TileDCSDataPlotter.tt
tt
Definition: TileDCSDataPlotter.py:874
L1CaloRampMaker::m_jmTools
ToolHandle< LVL1::IL1CaloOfflineTriggerTowerTools > m_jmTools
Definition: L1CaloRampMaker.h:79
L1CaloRampMaker::getCaloEnergy
double getCaloEnergy(const xAOD::TriggerTower *tt)
Definition: L1CaloRampMaker.cxx:300
L1CaloRampMaker::m_triggerTowerContainerName
std::string m_triggerTowerContainerName
Definition: L1CaloRampMaker.h:59