ATLAS Offline Software
Loading...
Searching...
No Matches
OccupancyMapMaker.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 PIXELCONDITIONSALGS_OCCUPANCYMAPMAKER_H
6#define PIXELCONDITIONSALGS_OCCUPANCYMAPMAKER_H
7
9#include "GaudiKernel/ServiceHandle.h"
10
12
13#include <string>
14#include <sstream>
15#include <vector>
16#include <fstream>
17#include <utility> // pair
18
19class ITHistSvc;
20class PixelID;
21class TH2D;
22class TH2C;
23class TH1D;
24
26 public:
27 OccupancyMapMaker (const std::string& name, ISvcLocator* pSvcLocator);
29
30 StatusCode initialize();
31 StatusCode execute();
32 StatusCode finalize();
33
34 private:
35 std::string getDCSIDFromPosition(int bec, int layer, int modPhi, int modEta);
36
37 std::vector<std::string> &splitter(const std::string &str, char delim, std::vector<std::string> &elems);
38
39 std::vector<std::string> splitter(const std::string &str, char delim);
40 StatusCode registerHistograms();
41
42 const std::string histoSuffix(const int bec, const int layer);
43
44 private:
45 ServiceHandle <ITHistSvc> m_tHistSvc;
46
47 ToolHandle<IInDetConditionsTool> m_pixelConditionsTool
48 {this, "PixelConditionsSummaryTool", "PixelConditionsSummaryTool", "Tool to retrieve Pixel Conditions summary"};
49
51
52 // vector of modulename and vector(barrel/endcap, layer, phi, eta)
53 std::vector< std::pair< std::string, std::vector<int> > > m_pixelMapping;
54
55 std::string m_pixelRDOKey;
56 std::vector<int> m_moduleHashList;
57
58 double m_nEvents;
59 // double m_occupancyCut;
60
63 std::vector<TH2D*> m_hitMaps;
64 std::vector<TH2C*> m_noiseMaps;
65 std::vector<TH1D*> m_LBdependence;
66 std::vector<TH1D*> m_BCIDdependence;
67 std::vector<TH1D*> m_TOTdistributions;
68
71 TH2D *m_overlayedIBLDCNoiseMap; // Planar Double Chip
72 TH2D *m_overlayedIBLSCNoiseMap; // 3D Single Chip
73 //TH2D* m_overlayedDBMNoiseMap; // DBM
74
75 // cuts ....
76 double m_disk1ACut; // disk-1, A-side
77 double m_disk2ACut; // disk-2, A-side
78 double m_disk3ACut; // disk-3, A-side
79 double m_disk1CCut; // disk-1, C-side
80 double m_disk2CCut; // disk-2, C-side
81 double m_disk3CCut; // disk-3, C-side
82 double m_iblCut; // IBL
83 double m_bLayerCut; // B-Layer
84 double m_layer1Cut; // Layer 1
85 double m_layer2Cut; // Layer 2
86 double m_dbmCut; // DBM
87
88 int m_hist_lbMax; // max number of LB
89
92
93 // int m_maxLVL1A;
94
96
97 unsigned int m_nBCReadout;
98
99 unsigned int m_evt_lbMin; // lower limit for LB to be taken into account
100 unsigned int m_evt_lbMax; // upper limit for LB to be taken into account
101
103
104 std::string m_mapFile;
105};
106
107#endif // PIXELCONDITIONSALGS_OCCUPANCYMAPMAKERH_
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
const std::string histoSuffix(const int bec, const int layer)
std::vector< std::string > & splitter(const std::string &str, char delim, std::vector< std::string > &elems)
std::string getDCSIDFromPosition(int bec, int layer, int modPhi, int modEta)
std::vector< TH1D * > m_TOTdistributions
std::string m_pixelRDOKey
std::vector< std::pair< std::string, std::vector< int > > > m_pixelMapping
ToolHandle< IInDetConditionsTool > m_pixelConditionsTool
const PixelID * m_pixelID
unsigned int m_nBCReadout
std::vector< TH1D * > m_LBdependence
std::vector< TH1D * > m_BCIDdependence
OccupancyMapMaker(const std::string &name, ISvcLocator *pSvcLocator)
std::vector< TH2D * > m_hitMaps
std::vector< int > m_moduleHashList
StatusCode registerHistograms()
ServiceHandle< ITHistSvc > m_tHistSvc
std::vector< TH2C * > m_noiseMaps
unsigned int m_evt_lbMin
This is an Identifier helper class for the Pixel subdetector.
Definition PixelID.h:67