ATLAS Offline Software
CaloClusterCellMonAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 #ifndef CALOMONITORING_LARCLUSTERCELLMONALG_H
7 #define CALOMONITORING_LARCLUSTERCELLMONALG_H
8 
9 #include "CaloMonAlgBase.h"
10 
16 
17 #include <vector>
18 #include <string>
19 #include <array>
20 #include <map>
21 #include <limits>
22 
24 
25  public:
28 
29  virtual StatusCode initialize() override final;
30  virtual StatusCode fillHistograms(const EventContext& ctx) const override final;
31 
32 
33 private:
34 
35  // Job properties
36  SG::ReadHandleKey<xAOD::CaloClusterContainer> m_clusterContainerKey{this,"CaloClusterContainer","CaloTopoClusters","SG key of the input cluster container"};
37 
38  SG::ReadCondHandleKey<CaloDetDescrManager> m_caloMgrKey {this,"CaloDetDescrManager", "CaloDetDescrManager", "SG Key for CaloDetDescrManager in the Condition Store" };
39  SG::ReadCondHandleKey<LArOnOffIdMapping> m_cablingKey{this,"CablingKey","LArOnOffIdMap","SG Key of LArOnOffIdMapping object"};
40 
41  Gaudi::Property<std::string> m_MonGroupName {this, "MonGroupName", "CaloClusterCellMonGroup"};
42 
43 
44  StringArrayProperty m_layerNames{this, "LayerNames", {"EMBPA", "EMBPC", "EMB1A", "EMB1C", "EMB2A", "EMB2C", "EMB3A", "EMB3C",
45  "HEC0A", "HEC0C", "HEC1A", "HEC1C", "HEC2A", "HEC2C", "HEC3A", "HEC3C",
46  "EMECPA", "EMECPC", "EMEC1A", "EMEC1C", "EMEC2A", "EMEC2C", "EMEC3A", "EMEC3C",
47  "FCAL1A", "FCAL1C", "FCAL2A", "FCAL2C", "FCAL3A", "FCAL3C"},
48  "Names of individual layers to monitor"};
49 
50  //StringArrayProperty m_partitionNames{this, "PartitionNames", {"EMBA","EMBC","EMECA","EMECC","HECA","HECC","FCALA","FCALC"}};
51 
52  // Trigger Awareness:
54 
55  BooleanProperty m_useTrigger{this, "useTrigger", true};
56  std::array<StringProperty,NOTA> m_triggerNames{{{this,"rndmTriggerNames",""},
57  {this,"caloTriggerNames",""},
58  {this,"minBiasTriggerNames",""},
59  {this,"metTriggerNames",""},
60  {this,"miscTriggerNames",""}
61  }};
62 
63 
64  BooleanArrayProperty m_doBeamBackgroundRemovalProp{this, "DoBeamBackgroundRemoval"};
65 
66  Gaudi::Property<float> m_clusterECut {this,"ClusterEnergyCut",std::numeric_limits<float>::lowest()};
67  Gaudi::Property<unsigned> m_nCellsPerCluster{this,"nCellsPerCluster",1,"Monitor the N highest-energy-cells of each cluster (0: all cells)"};
68 
69  //Enumerate partitions
71 
72  void checkTrigger() const;
73 
74  const LArOnlineID* m_onlineID{nullptr};
75 
76  const std::array<std::string,9> m_tileNames{
77  "TileBar0","TileBar1","TileBar2",
78  "TileGap0","TileGap1","TileGap2",
79  "TileExt0","TileExt1","TileExt2"};
80 };
81 
82 #endif
CaloClusterCellMonAlg::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: CaloClusterCellMonAlg.h:38
CaloClusterCellMonAlg::MINBIAS
@ MINBIAS
Definition: CaloClusterCellMonAlg.h:53
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
CaloClusterCellMonAlg::m_clusterContainerKey
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_clusterContainerKey
Definition: CaloClusterCellMonAlg.h:36
CaloClusterCellMonAlg::HECC
@ HECC
Definition: CaloClusterCellMonAlg.h:70
CaloClusterCellMonAlg::initialize
virtual StatusCode initialize() override final
initialize
Definition: CaloClusterCellMonAlg.cxx:18
CaloClusterCellMonAlg::EMECA
@ EMECA
Definition: CaloClusterCellMonAlg.h:70
CaloClusterCellMonAlg::PartitionEnum
PartitionEnum
Definition: CaloClusterCellMonAlg.h:70
CaloClusterContainer
Storable container for CaloCluster.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloClusterContainer.h:37
CaloClusterCellMonAlg
Definition: CaloClusterCellMonAlg.py:1
CaloClusterCellMonAlg::FCALC
@ FCALC
Definition: CaloClusterCellMonAlg.h:70
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
CaloClusterCellMonAlg::NOTA
@ NOTA
Definition: CaloClusterCellMonAlg.h:53
CaloClusterCellMonAlg::MAXTRIGTYPE
@ MAXTRIGTYPE
Definition: CaloClusterCellMonAlg.h:53
CaloClusterCellMonAlg::m_useTrigger
BooleanProperty m_useTrigger
Definition: CaloClusterCellMonAlg.h:55
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
CaloClusterCellMonAlg::TriggerType
TriggerType
Definition: CaloClusterCellMonAlg.h:53
CaloClusterCellMonAlg::MET
@ MET
Definition: CaloClusterCellMonAlg.h:53
CaloClusterCellMonAlg::EMECC
@ EMECC
Definition: CaloClusterCellMonAlg.h:70
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
CaloClusterCellMonAlg::m_layerNames
StringArrayProperty m_layerNames
Definition: CaloClusterCellMonAlg.h:44
CaloClusterCellMonAlg::MISC
@ MISC
Definition: CaloClusterCellMonAlg.h:53
CaloMonAlgBase.h
LArOnOffIdMapping.h
CaloClusterCellMonAlg::m_MonGroupName
Gaudi::Property< std::string > m_MonGroupName
Definition: CaloClusterCellMonAlg.h:41
CaloClusterCellMonAlg::m_nCellsPerCluster
Gaudi::Property< unsigned > m_nCellsPerCluster
Definition: CaloClusterCellMonAlg.h:67
CaloMonAlgBase::CaloMonAlgBase
CaloMonAlgBase(const std::string &name, ISvcLocator *pSvcLocator)
Definition: CaloMonAlgBase.cxx:7
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CaloClusterCellMonAlg::RNDM
@ RNDM
Definition: CaloClusterCellMonAlg.h:53
CaloClusterCellMonAlg::m_triggerNames
std::array< StringProperty, NOTA > m_triggerNames
Definition: CaloClusterCellMonAlg.h:56
ReadCondHandleKey.h
CaloClusterCellMonAlg::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override final
adds event to the monitoring histograms
Definition: CaloClusterCellMonAlg.cxx:72
CaloClusterCellMonAlg::MAXPARTITIONS
@ MAXPARTITIONS
Definition: CaloClusterCellMonAlg.h:70
CaloClusterCellMonAlg::CALO
@ CALO
Definition: CaloClusterCellMonAlg.h:53
CaloClusterCellMonAlg::~CaloClusterCellMonAlg
~CaloClusterCellMonAlg()=default
LArOnlineID
Definition: LArOnlineID.h:20
CaloClusterCellMonAlg::EMBC
@ EMBC
Definition: CaloClusterCellMonAlg.h:70
CaloClusterCellMonAlg::HECA
@ HECA
Definition: CaloClusterCellMonAlg.h:70
SG::ReadCondHandleKey< CaloDetDescrManager >
CaloClusterCellMonAlg::EMBA
@ EMBA
Definition: CaloClusterCellMonAlg.h:70
CaloClusterCellMonAlg::m_clusterECut
Gaudi::Property< float > m_clusterECut
Definition: CaloClusterCellMonAlg.h:66
CaloClusterCellMonAlg::m_tileNames
const std::array< std::string, 9 > m_tileNames
Definition: CaloClusterCellMonAlg.h:76
CaloClusterContainer.h
private
#define private
Definition: xAODTruthCnvAlg.h:20
CaloClusterCellMonAlg::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: CaloClusterCellMonAlg.h:39
CaloMonAlgBase
Definition: CaloMonAlgBase.py:1
CaloClusterCellMonAlg::m_onlineID
const LArOnlineID * m_onlineID
Definition: CaloClusterCellMonAlg.h:74
CaloClusterCellMonAlg::checkTrigger
void checkTrigger() const
Definition: CaloClusterCellMonAlg.cxx:42
CaloClusterCellMonAlg::FCALA
@ FCALA
Definition: CaloClusterCellMonAlg.h:70
LArOnlineID.h
CaloClusterCellMonAlg::m_doBeamBackgroundRemovalProp
BooleanArrayProperty m_doBeamBackgroundRemovalProp
Definition: CaloClusterCellMonAlg.h:64