ATLAS Offline Software
CscPrdValAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef CscPrdValAlg_H
6 #define CscPrdValAlg_H
7 
12 #include "GaudiKernel/ServiceHandle.h"
13 #include "GaudiKernel/ToolHandle.h"
16 
17 class TH1;
18 class TH1F;
19 class TH2F;
20 
22 
23  public:
24 
25  CscPrdValAlg (const std::string & type, const std::string & name,
26  const IInterface* parent);
27  ~CscPrdValAlg();
28 
30 
33  StatusCode procHistograms(){return StatusCode::SUCCESS;}
34  StatusCode checkHists(bool fromFinalise);
35 
36  private:
37 
38  // initialize histograms
39  void initHistograms();
40 
41  // register histograms
42  void bookPrdHistograms();
43 
44  size_t m_cscNoiseCut;
45  SG::ReadHandleKey<Muon::CscStripPrepDataContainer> m_cscPrdKey{this,"CSCPrepRawDataKey","CSC_Measurements","CSC PRDs"};
46  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfo{this,"EventInfo","EventInfo","event info"};
47  std::string m_cscPRDPath, m_cscGenPath;
48  bool m_mapxyrz;
49 
50  // Strip fitter
51  ToolHandle<ICscStripFitter> m_stripFitter;
52 
53  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
54 
56  int m_lumiblock = 0;
57 
58  private:
59 
60  TH2F *m_h2csc_prd_hitmap = nullptr; // sector+0.2*layer vs. All hits
61  TH2F *m_h2csc_prd_hitmap_signal = nullptr; // sector+0.2*layer vs. Hits above threshold
62  TH2F *m_h2csc_prd_hitmap_noise = nullptr; // sector+0.2*layer vs. Hits below threshold
63 
64  TH2F *m_h2csc_prd_hitmap_norm = nullptr; // sector+0.2*layer vs. All hits
65  TH2F *m_h2csc_prd_hitmap_norm_signal = nullptr; // sector+0.2*layer vs. Hits above threshold
66  TH2F *m_h2csc_prd_hitmap_norm_noise = nullptr; // sector+0.2*layer vs. Hits below threshold
67 
71 
73 
77 
79 
82 
86 
87  TH2F *m_h2csc_prd_phicluswidth = nullptr; // sector+0.2*layer vs. phi-cluster width (#of strips per cluster)
88  TH2F *m_h2csc_prd_phicluswidth_signal = nullptr; // sector+0.2*layer vs. phi-cluster width (#of strips per cluster)
89  TH2F *m_h2csc_prd_phicluswidth_noise = nullptr; // sector+0.2*layer vs. phi-cluster width (#of strips per cluster)
90 
91  TH2F *m_h2csc_prd_etacluswidth = nullptr; // sector+0.2*layer vs. eta-cluster width (#of strips per cluster)
92  TH2F *m_h2csc_prd_etacluswidth_signal = nullptr; // sector+0.2*layer vs. eta-cluster width (#of strips per cluster)
93  TH2F *m_h2csc_prd_etacluswidth_noise = nullptr; // sector+0.2*layer vs. eta-cluster width (#of strips per cluster)
94 
95  TH2F *m_h2csc_prd_phicluscount = nullptr; // sector+0.2*layer vs. phi-cluster count (#of clusters per layer)
96  TH2F *m_h2csc_prd_phicluscount_signal = nullptr; // sector+0.2*layer vs. phi-cluster count (#of clusters per layer)
97  TH2F *m_h2csc_prd_phicluscount_noise = nullptr; // sector+0.2*layer vs. eta-cluster count (#of clusters per layer)
98 
99  TH2F *m_h2csc_prd_etacluscount = nullptr; // sector+0.2*layer vs. eta-cluster count (#of clusters per layer)
100  TH2F *m_h2csc_prd_etacluscount_signal = nullptr; // sector+0.2*layer vs. eta-cluster count (#of clusters per layer)
101  TH2F *m_h2csc_prd_etacluscount_noise = nullptr; // sector+0.2*layer vs. eta-cluster count (#of clusters per layer)
102 
103 
104  TH1F *m_h1csc_prd_maxdiffamp = nullptr; // max amplitude per cluster (ADC count)
105 
106 
108 
109  // Correlation plots
113 
117 
118  std::vector<TH1 *> m_regHShift ,
123 
124 };
125 
126 #endif
CscPrdValAlg::m_regHLumi
std::vector< TH1 * > m_regHLumi
Definition: CscPrdValAlg.h:122
CscPrdValAlg::m_stripFitter
ToolHandle< ICscStripFitter > m_stripFitter
Definition: CscPrdValAlg.h:51
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
CscPrdValAlg::m_h2csc_prd_hitmap_signal_EA
TH2F * m_h2csc_prd_hitmap_signal_EA
Definition: CscPrdValAlg.h:68
CscPrdValAlg::m_cscPRDPath
std::string m_cscPRDPath
Definition: CscPrdValAlg.h:47
CscPrdValAlg::fillLumiBlock
StatusCode fillLumiBlock()
Definition: CscPrdValAlg.cxx:674
CscPrdValAlg::m_cscPrdKey
SG::ReadHandleKey< Muon::CscStripPrepDataContainer > m_cscPrdKey
Definition: CscPrdValAlg.h:45
CscStripPrepDataContainer.h
CscPrdValAlg::m_h2csc_prd_hitmap_signal
TH2F * m_h2csc_prd_hitmap_signal
Definition: CscPrdValAlg.h:61
CscPrdValAlg::m_h2csc_prd_phicluscount
TH2F * m_h2csc_prd_phicluscount
Definition: CscPrdValAlg.h:95
CscPrdValAlg::m_h1csc_prd_maxdiffamp
TH1F * m_h1csc_prd_maxdiffamp
Definition: CscPrdValAlg.h:104
CscPrdValAlg::procHistograms
StatusCode procHistograms()
An inheriting class should either override this function or finalHists().
Definition: CscPrdValAlg.h:33
CscPrdValAlg::initHistograms
void initHistograms()
Definition: CscPrdValAlg.cxx:118
CscPrdValAlg::m_h2csc_prd_etacluswidth
TH2F * m_h2csc_prd_etacluswidth
Definition: CscPrdValAlg.h:91
CscPrdValAlg::m_regHShift
std::vector< TH1 * > m_regHShift
Definition: CscPrdValAlg.h:118
CscPrdValAlg::m_h2csc_prd_etacluscount_noise
TH2F * m_h2csc_prd_etacluscount_noise
Definition: CscPrdValAlg.h:101
ManagedMonitorToolBase
Provides functionality for users to implement and save histograms, ntuples, and summary data,...
Definition: ManagedMonitorToolBase.h:74
TH2F
Definition: rootspy.cxx:420
CscPrdValAlg::m_h2csc_prd_eta_vs_phi_hitmap
TH2F * m_h2csc_prd_eta_vs_phi_hitmap
Definition: CscPrdValAlg.h:83
CscPrdValAlg::m_h2csc_prd_hitmap_norm_signal_EA
TH2F * m_h2csc_prd_hitmap_norm_signal_EA
Definition: CscPrdValAlg.h:72
CscPrdValAlg::m_h2csc_prd_phicluscount_signal
TH2F * m_h2csc_prd_phicluscount_signal
Definition: CscPrdValAlg.h:96
CscPrdValAlg::m_h1csc_prd_hitmap_signal_EA_occupancy
TH1F * m_h1csc_prd_hitmap_signal_EA_occupancy
Definition: CscPrdValAlg.h:70
CscPrdValAlg::m_mapxyrz
bool m_mapxyrz
Definition: CscPrdValAlg.h:48
CscPrdValAlg::m_h2csc_prd_hitmap_noise
TH2F * m_h2csc_prd_hitmap_noise
Definition: CscPrdValAlg.h:62
CscPrdValAlg
Definition: CscPrdValAlg.h:21
CscPrdValAlg::m_h2csc_prd_eta_vs_phi_cluscount_noise
TH2F * m_h2csc_prd_eta_vs_phi_cluscount_noise
Definition: CscPrdValAlg.h:112
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
CscPrdValAlg::initialize
StatusCode initialize()
Definition: CscPrdValAlg.cxx:103
CscPrdValAlg::bookPrdHistograms
void bookPrdHistograms()
Definition: CscPrdValAlg.cxx:180
CscPrdValAlg::m_h2csc_prd_y_vs_x_hitmap
TH2F * m_h2csc_prd_y_vs_x_hitmap
Definition: CscPrdValAlg.h:85
CscPrdValAlg::m_h1csc_prd_hitmap_signal_EC_occupancy
TH1F * m_h1csc_prd_hitmap_signal_EC_occupancy
Definition: CscPrdValAlg.h:76
CscPrdValAlg::m_h1csc_prd_hitmap_signal_EC_count
TH1F * m_h1csc_prd_hitmap_signal_EC_count
Definition: CscPrdValAlg.h:75
CscPrdValAlg::m_h2csc_prd_etacluswidth_signal
TH2F * m_h2csc_prd_etacluswidth_signal
Definition: CscPrdValAlg.h:92
CscPrdValAlg::bookHistograms
StatusCode bookHistograms()
An inheriting class should either override this function or bookHists().
Definition: CscPrdValAlg.cxx:371
ManagedMonitorToolBase.h
ManagedMonitorToolBase::MonGroup
A container of information describing a monitoring object.
Definition: ManagedMonitorToolBase.h:138
CscPrdValAlg::m_h2csc_prd_etacluscount_signal
TH2F * m_h2csc_prd_etacluscount_signal
Definition: CscPrdValAlg.h:100
CscPrdValAlg::m_h2csc_prd_eta_vs_phi_cluswidth_signal
TH2F * m_h2csc_prd_eta_vs_phi_cluswidth_signal
Definition: CscPrdValAlg.h:115
CscPrdValAlg::m_h2csc_prd_eta_vs_phi_cluswidth
TH2F * m_h2csc_prd_eta_vs_phi_cluswidth
Definition: CscPrdValAlg.h:114
CscPrdValAlg::m_regHOviewEC
std::vector< TH1 * > m_regHOviewEC
Definition: CscPrdValAlg.h:121
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CscPrdValAlg::~CscPrdValAlg
~CscPrdValAlg()
Definition: CscPrdValAlg.cxx:87
CscPrdValAlg::m_h2csc_prd_etacluswidth_noise
TH2F * m_h2csc_prd_etacluswidth_noise
Definition: CscPrdValAlg.h:93
CscPrdValAlg::m_h2csc_prd_r_vs_z_hitmap
TH2F * m_h2csc_prd_r_vs_z_hitmap
Definition: CscPrdValAlg.h:84
CscPrdValAlg::checkHists
StatusCode checkHists(bool fromFinalise)
This implementation does nothing; equivalent functionality may be provided by procHists(....
Definition: CscPrdValAlg.cxx:664
CscPrdValAlg::m_h2csc_prd_phicluscount_noise
TH2F * m_h2csc_prd_phicluscount_noise
Definition: CscPrdValAlg.h:97
CscPrdValAlg::m_h2csc_prd_hitmap_norm_signal_EC
TH2F * m_h2csc_prd_hitmap_norm_signal_EC
Definition: CscPrdValAlg.h:78
CscPrdValAlg::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: CscPrdValAlg.h:53
CscPrdValAlg::m_h1csc_prd_hitmap_signal_EA_count
TH1F * m_h1csc_prd_hitmap_signal_EA_count
Definition: CscPrdValAlg.h:69
CscPrdValAlg::m_h2csc_prd_hitmap
TH2F * m_h2csc_prd_hitmap
Definition: CscPrdValAlg.h:60
CscPrdValAlg::m_eventInfo
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo
Definition: CscPrdValAlg.h:46
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
CscPrdValAlg::m_regHOviewEA
std::vector< TH1 * > m_regHOviewEA
Definition: CscPrdValAlg.h:120
CscPrdValAlg::m_h2csc_prd_phicluswidth
TH2F * m_h2csc_prd_phicluswidth
Definition: CscPrdValAlg.h:87
CscPrdValAlg::fillHistograms
StatusCode fillHistograms()
An inheriting class should either override this function or fillHists().
Definition: CscPrdValAlg.cxx:438
CscPrdValAlg::m_h2csc_prd_eta_vs_phi_cluswidth_noise
TH2F * m_h2csc_prd_eta_vs_phi_cluswidth_noise
Definition: CscPrdValAlg.h:116
EventInfo.h
CscPrdValAlg::m_regHExpert
std::vector< TH1 * > m_regHExpert
Definition: CscPrdValAlg.h:119
CscPrdValAlg::m_h2csc_prd_hitmap_signal_EC
TH2F * m_h2csc_prd_hitmap_signal_EC
Definition: CscPrdValAlg.h:74
CscPrdValAlg::m_h2csc_prd_hitmap_norm
TH2F * m_h2csc_prd_hitmap_norm
Definition: CscPrdValAlg.h:64
CscPrdValAlg::m_lumiblock
int m_lumiblock
Definition: CscPrdValAlg.h:56
CscPrdValAlg::m_cscprd_oviewEA
MonGroup * m_cscprd_oviewEA
Definition: CscPrdValAlg.h:107
CscPrdValAlg::m_cscGenPath
std::string m_cscGenPath
Definition: CscPrdValAlg.h:47
TH1F
Definition: rootspy.cxx:320
CscPrdValAlg::m_h2csc_prd_phicluswidth_signal
TH2F * m_h2csc_prd_phicluswidth_signal
Definition: CscPrdValAlg.h:88
CscPrdValAlg::m_h2csc_prd_occvslb_EC
TH2F * m_h2csc_prd_occvslb_EC
Definition: CscPrdValAlg.h:81
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
TH1
Definition: rootspy.cxx:268
CscPrdValAlg::m_cscNoiseCut
size_t m_cscNoiseCut
Definition: CscPrdValAlg.h:44
ICscStripFitter.h
CscPrdValAlg::m_h2csc_prd_eta_vs_phi_cluscount
TH2F * m_h2csc_prd_eta_vs_phi_cluscount
Definition: CscPrdValAlg.h:110
CscPrdValAlg::m_h2csc_prd_etacluscount
TH2F * m_h2csc_prd_etacluscount
Definition: CscPrdValAlg.h:99
CscPrdValAlg::m_h2csc_prd_occvslb_EA
TH2F * m_h2csc_prd_occvslb_EA
Definition: CscPrdValAlg.h:80
CscPrdValAlg::m_h2csc_prd_hitmap_norm_signal
TH2F * m_h2csc_prd_hitmap_norm_signal
Definition: CscPrdValAlg.h:65
CscPrdValAlg::CscPrdValAlg
CscPrdValAlg(const std::string &type, const std::string &name, const IInterface *parent)
Definition: CscPrdValAlg.cxx:65
CscPrdValAlg::m_h2csc_prd_eta_vs_phi_cluscount_signal
TH2F * m_h2csc_prd_eta_vs_phi_cluscount_signal
Definition: CscPrdValAlg.h:111
CscPrdValAlg::m_h2csc_prd_hitmap_norm_noise
TH2F * m_h2csc_prd_hitmap_norm_noise
Definition: CscPrdValAlg.h:66
IMuonIdHelperSvc.h
CscPrdValAlg::m_cscprd_oviewEC
MonGroup * m_cscprd_oviewEC
Definition: CscPrdValAlg.h:107
ServiceHandle< Muon::IMuonIdHelperSvc >
CscPrdValAlg::m_h2csc_prd_phicluswidth_noise
TH2F * m_h2csc_prd_phicluswidth_noise
Definition: CscPrdValAlg.h:89