ATLAS Offline Software
Loading...
Searching...
No Matches
CaloBaselineMonAlg.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// ********************************************************************
6// NAME: CaloBaselineMonAlg.h
7//
8// Based on code from Benjamin Trocme (LPSC Grenoble) 01/2018
9//
10// ********************************************************************
11
12#ifndef CALOBASELINEMONALG_H
13#define CALOBASELINEMONALG_H
14
15#include "CaloMonAlgBase.h"
16
17#include "GaudiKernel/ToolHandle.h"
18#include "Identifier/Identifier.h"
23
25 public:
26
27 CaloBaselineMonAlg(const std::string& name, ISvcLocator* pSvcLocator);
29
30 virtual StatusCode initialize() override final;
31 virtual StatusCode fillHistograms(const EventContext& ctx) const override final;
32
33 private:
34
35 StatusCode retrieveTools();
36
37 // CaloCellContainer name
38 SG::ReadHandleKey<CaloCellContainer> m_cellContainerKey{this,"CellContainer","AllCalo","Input CaloCellContainer key"};
39
40 SG::ReadCondHandleKey<BunchCrossingCondData> m_bcDataKey {this, "BunchCrossingCondDataKey", "BunchCrossingData" ,"SG Key of BunchCrossing CDO"};
41
42 Gaudi::Property<std::string> m_MonGroupName {this, "MonGroupName", "CaloBaselineGroup"};
43 // LHC BCID caracteristics. Do not change it
44 const float m_BCID0_min = 0.;
45 const float m_BCID0_max = 3563.;
46 const int m_BCID0_nbins = 3563;
47 // Minimal BCID distance away from a bunch train to compute pedestal baseline
48 // If equal to negative, do not compute pedestal baseline in inter train
49 Gaudi::Property<int> m_pedestalMon_BCIDmin{this, "pedestalMon_BCIDmin", 25};
50 // Maximal BCID distance away from the start of bunch train to monitor CaloLumiBCIDTool
51 // If equal to negative, do not monitor CaloLumiBCIDTool
52 Gaudi::Property<int> m_bcidtoolMon_BCIDmax{this, "bcidtoolMon_BCIDmax", 144};
53 // Definition of eta range as a function of partitions
54 Gaudi::Property<std::vector<float> > m_etaMax{this, "maximumEta", {}};
55 Gaudi::Property<std::vector<float> > m_etaMin{this, "minimumEta", {}};
56 Gaudi::Property<std::vector<uint> > m_nbOfEtaBins{this, "nbOfEtaBins", {}};
57 // List of partitions given in job options;
58 // Can be : EM, HEC, FCal, HEC+FCal
59 Gaudi::Property<std::vector<std::string> > m_partNames{this, "partionList", {}};
60
61 std::vector<float> m_etaBinWidth;
62 std::vector<float> m_inv_etaBinWidth;
63
64 // Boolean to switch off/on monitoring - Derived from the two above properties
67
68 /* Histogram grouping (part)(ieta) */
69 std::vector<std::vector<int> >m_histoGroups;
70
71 // Control plots of BCID filled for each type
72 //TH1I_LW* m_h1_BCID_bcidtoolMon;
73 //TH1I_LW* m_h1_BCID_pedestalMon;
74
75 /*
76 struct partitionHistos
77 {
78 TProfile_LW* hProf_bcidtoolMon_vs_Eta=nullptr;
79 TProfile_LW* hProf_bcidtoolMon_vs_LB=nullptr;
80 std::vector<TProfile_LW*> hProf_bcidtoolMon_vs_EtaBCID;
81
82 TProfile_LW* hProf_pedestalMon_vs_Eta=nullptr;
83 TProfile_LW* hProf_pedestalMon_vs_LB=nullptr;
84 std::vector<TProfile_LW*> hProf_pedestalMon_vs_EtaBCID;
85 };
86 */
87
88 // Map between the 4 partition and the m_partNames
89 // Filled at initialize
90 std::vector<int> m_partMap;
91
92 // std::vector<partitionHistos> m_partHistos;
93
94};
95
96#endif // CaloBaselineMonAlg_H
Replaces the BunchCrossing AlgTool used in run1/2.
Property holding a SG store/key/clid from which a ReadHandle is made.
std::vector< float > m_inv_etaBinWidth
std::vector< std::vector< int > > m_histoGroups
Gaudi::Property< std::string > m_MonGroupName
StatusCode retrieveTools()
Gaudi::Property< std::vector< float > > m_etaMin
Gaudi::Property< int > m_bcidtoolMon_BCIDmax
Gaudi::Property< std::vector< float > > m_etaMax
Gaudi::Property< std::vector< uint > > m_nbOfEtaBins
SG::ReadCondHandleKey< BunchCrossingCondData > m_bcDataKey
std::vector< int > m_partMap
Gaudi::Property< std::vector< std::string > > m_partNames
SG::ReadHandleKey< CaloCellContainer > m_cellContainerKey
std::vector< float > m_etaBinWidth
Gaudi::Property< int > m_pedestalMon_BCIDmin
Container class for CaloCell.
Forward declaration.
void initialize()
#define private