ATLAS Offline Software
LArClusterCellMonAlg.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", "LArClusterCellMonGroup"};
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 };
77 
78 #endif
LArClusterCellMonAlg::RNDM
@ RNDM
Definition: LArClusterCellMonAlg.h:53
LArClusterCellMonAlg::m_cablingKey
SG::ReadCondHandleKey< LArOnOffIdMapping > m_cablingKey
Definition: LArClusterCellMonAlg.h:39
LArClusterCellMonAlg::MAXPARTITIONS
@ MAXPARTITIONS
Definition: LArClusterCellMonAlg.h:70
LArClusterCellMonAlg::initialize
virtual StatusCode initialize() override final
initialize
Definition: LArClusterCellMonAlg.cxx:18
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
LArClusterCellMonAlg::m_doBeamBackgroundRemovalProp
BooleanArrayProperty m_doBeamBackgroundRemovalProp
Definition: LArClusterCellMonAlg.h:64
CaloClusterContainer
Storable container for CaloCluster.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloClusterContainer.h:37
LArClusterCellMonAlg::MET
@ MET
Definition: LArClusterCellMonAlg.h:53
LArClusterCellMonAlg::HECC
@ HECC
Definition: LArClusterCellMonAlg.h:70
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
LArClusterCellMonAlg::EMBA
@ EMBA
Definition: LArClusterCellMonAlg.h:70
LArClusterCellMonAlg::m_useTrigger
BooleanProperty m_useTrigger
Definition: LArClusterCellMonAlg.h:55
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
LArClusterCellMonAlg::EMBC
@ EMBC
Definition: LArClusterCellMonAlg.h:70
LArClusterCellMonAlg::m_clusterECut
Gaudi::Property< float > m_clusterECut
Definition: LArClusterCellMonAlg.h:66
CaloDetDescrManager.h
Definition of CaloDetDescrManager.
LArClusterCellMonAlg::m_partitionNames
StringArrayProperty m_partitionNames
Definition: LArClusterCellMonAlg.h:50
LArClusterCellMonAlg::EMECC
@ EMECC
Definition: LArClusterCellMonAlg.h:70
LArClusterCellMonAlg::m_nCellsPerCluster
Gaudi::Property< unsigned > m_nCellsPerCluster
Definition: LArClusterCellMonAlg.h:67
LArClusterCellMonAlg::CALO
@ CALO
Definition: LArClusterCellMonAlg.h:53
CaloMonAlgBase.h
LArOnOffIdMapping.h
LArClusterCellMonAlg::FCALA
@ FCALA
Definition: LArClusterCellMonAlg.h:70
LArClusterCellMonAlg::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override final
adds event to the monitoring histograms
Definition: LArClusterCellMonAlg.cxx:72
LArClusterCellMonAlg::m_triggerNames
std::array< StringProperty, NOTA > m_triggerNames
Definition: LArClusterCellMonAlg.h:56
CaloMonAlgBase::CaloMonAlgBase
CaloMonAlgBase(const std::string &name, ISvcLocator *pSvcLocator)
Definition: CaloMonAlgBase.cxx:7
LArClusterCellMonAlg::EMECA
@ EMECA
Definition: LArClusterCellMonAlg.h:70
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArClusterCellMonAlg::HECA
@ HECA
Definition: LArClusterCellMonAlg.h:70
LArClusterCellMonAlg::MINBIAS
@ MINBIAS
Definition: LArClusterCellMonAlg.h:53
LArClusterCellMonAlg::MAXTRIGTYPE
@ MAXTRIGTYPE
Definition: LArClusterCellMonAlg.h:53
LArClusterCellMonAlg::~LArClusterCellMonAlg
~LArClusterCellMonAlg()=default
LArClusterCellMonAlg::checkTrigger
void checkTrigger() const
Definition: LArClusterCellMonAlg.cxx:42
LArClusterCellMonAlg::m_clusterContainerKey
SG::ReadHandleKey< xAOD::CaloClusterContainer > m_clusterContainerKey
Definition: LArClusterCellMonAlg.h:36
ReadCondHandleKey.h
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
LArClusterCellMonAlg::m_layerNames
StringArrayProperty m_layerNames
Definition: LArClusterCellMonAlg.h:44
LArClusterCellMonAlg::NOTA
@ NOTA
Definition: LArClusterCellMonAlg.h:53
LArClusterCellMonAlg
Definition: LArClusterCellMonAlg.py:1
LArClusterCellMonAlg::m_caloMgrKey
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Definition: LArClusterCellMonAlg.h:38
LArOnlineID
Definition: LArOnlineID.h:20
LArClusterCellMonAlg::TriggerType
TriggerType
Definition: LArClusterCellMonAlg.h:53
LArClusterCellMonAlg::FCALC
@ FCALC
Definition: LArClusterCellMonAlg.h:70
SG::ReadCondHandleKey< CaloDetDescrManager >
LArClusterCellMonAlg::m_MonGroupName
Gaudi::Property< std::string > m_MonGroupName
Definition: LArClusterCellMonAlg.h:41
LArClusterCellMonAlg::MISC
@ MISC
Definition: LArClusterCellMonAlg.h:53
CaloClusterContainer.h
LArClusterCellMonAlg::m_onlineID
const LArOnlineID * m_onlineID
Definition: LArClusterCellMonAlg.h:74
CaloMonAlgBase
Definition: CaloMonAlgBase.py:1
LArOnlineID.h
LArClusterCellMonAlg::PartitionEnum
PartitionEnum
Definition: LArClusterCellMonAlg.h:70