CMS 3D CMS Logo

SiPixelActionExecutor.h
Go to the documentation of this file.
1 #ifndef _SiPixelActionExecutor_h_
2 #define _SiPixelActionExecutor_h_
3 
16 #include <fstream>
17 #include <map>
18 #include <vector>
19 #include <string>
20 
21 // For Tracker Map
23 #define PI_12 0.261799
24 #define PI 3.141592
25 #define PI_2 1.570796
26 
27 #define NLev1 4 // Number of HalfCylinders in Endcap or number of Shells in Barrel, which is bigger
28 #define NLev2 3 // Number of Disks in Endcap or number of Layers in Barrel, which is bigger
29 #define NLev3 22 // Number of Blades in Endcap or number of Ladders in Barrel, which is bigger
30 #define NLev4 7 // Number of Modules - different for Endcap and Barrel, which is bigger
31 
32 #define NCyl 4
33 #define NDisk 2
34 #define NBlade 12
35 #define NModuleE 7
36 
37 #define NShell 4
38 #define NLayer 3
39 #define NModuleB 4
40 
41 #define NPoints 5
42 
43 // End for Tracker Map
44 
46 
47  public:
48 
49  SiPixelActionExecutor( bool offlineXMLfile,
50  bool Tier0Flag);
52 
53  void createSummary( DQMStore::IBooker & iBooker,
54  DQMStore::IGetter & iGetter,
55  bool isUpgrade);
56  void bookDeviations( DQMStore::IBooker & iBooker,
57  bool isUpgrade);
58  void bookEfficiency( DQMStore::IBooker & iBooker,
59  bool isUpgrade);
60  void createEfficiency( DQMStore::IBooker & iBooker,
61  DQMStore::IGetter & iGetter,
62  bool isUpgrade);
63  void fillEfficiency( DQMStore::IBooker & iBooker,
64  DQMStore::IGetter & iGetter,
65  bool isbarrel,
66  bool isUpgrade);
68  DQMStore::IGetter & iGetter);
69  void bookOccupancyPlots( DQMStore::IBooker & iBooker,
70  DQMStore::IGetter & iGetter,
71  bool hiRes,
72  bool isbarrel);
73  void bookOccupancyPlots( DQMStore::IBooker & iBooker,
74  DQMStore::IGetter & iGetter,
75  bool hiRes);
76  void createOccupancy( DQMStore::IBooker & iBooker,
77  DQMStore::IGetter & iGetter);
78  void normaliseAvDigiOcc( DQMStore::IBooker & iBooker,
79  DQMStore::IGetter & iGetter);
81  DQMStore::IGetter & iGetter,
82  int lumisec);
83  bool readConfiguration( int & tkmap_freq,
84  int & sum_barrel_freq,
85  int & sum_endcap_freq,
86  int & sum_grandbarrel_freq,
87  int & sum_grandendcap_freq,
88  int & message_limit,
89  int & source_type,
90  int & calib_type);
91  bool readConfiguration( int & tkmap_freq,
92  int & summary_freq);
93  void readConfiguration( );
94  int getLadder( const std::string & dname);
95  int getBlade( const std::string & dname);
96 
97 private:
98 
99 
101  DQMStore::IGetter & iGetter,
102  std::string me_name,
103  bool isUpgrade);
105  DQMStore::IGetter & iGetter,
106  std::string me_name);
107  void GetBladeSubdirs( DQMStore::IBooker & iBooker,
108  DQMStore::IGetter & iGetter,
109  std::vector<std::string>& blade_subdirs);
110  void fillSummary( DQMStore::IBooker & iBooker,
111  DQMStore::IGetter & iGetter,
113  std::vector<std::string> & me_names,
114  bool isbarrel,
115  bool isUpgrade);
116  void fillDeviations( DQMStore::IGetter & iGetter);
117  void fillFEDErrorSummary( DQMStore::IBooker & iBooker,
118  DQMStore::IGetter & iGetter,
119  std::string dir_name,
120  std::vector<std::string> & me_names);
122  DQMStore::IGetter & iGetter,
123  std::vector<std::string> & me_names,
124  bool isUpgrade);
126  DQMStore::IGetter & iGetter,
127  std::vector<std::string> & me_names,
128  bool isUpgrade);
129  void getGrandSummaryME( DQMStore::IBooker & iBooker,
130  DQMStore::IGetter & iGetter,
131  int nbin,
132  std::string & me_name,
133  std::vector<MonitorElement*> & mes);
134 
135  void fillOccupancy( DQMStore::IBooker & iBooker,
136  DQMStore::IGetter & iGetter,
137  bool isbarrel);
138 
142 
143  std::vector<std::string> summaryMENames;
144  std::vector<std::string> tkMapMENames;
145 
149  int ndet_;
152 
176 
177  TH2F * temp_H;
178  TH2F * temp_1x2;
179  TH2F * temp_1x5;
180  TH2F * temp_2x3;
181  TH2F * temp_2x4;
182  TH2F * temp_2x5;
183 
184 };
185 #endif
void normaliseAvDigiOccVsLumi(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, int lumisec)
MonitorElement * PixelOccupancyMap
MonitorElement * HitEfficiency_Dp3
void fillDeviations(DQMStore::IGetter &iGetter)
void createEfficiency(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, bool isUpgrade)
void getGrandSummaryME(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, int nbin, std::string &me_name, std::vector< MonitorElement * > &mes)
MonitorElement * HitEfficiency_L4
MonitorElement * getFEDSummaryME(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, std::string me_name)
void bookOccupancyPlots(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, bool hiRes, bool isbarrel)
MonitorElement * DEV_size_Barrel
MonitorElement * HitEfficiency_L3
SiPixelConfigParser * configParser_
MonitorElement * DEV_nclusters_Barrel
void fillGrandEndcapSummaryHistos(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, std::vector< std::string > &me_names, bool isUpgrade)
MonitorElement * HitEfficiency_Dm2
MonitorElement * HitEfficiency_L2
int getBlade(const std::string &dname)
void normaliseAvDigiOcc(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter)
void fillEfficiency(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, bool isbarrel, bool isUpgrade)
std::vector< std::string > summaryMENames
SiPixelConfigWriter * configWriter_
std::vector< std::string > tkMapMENames
edm::ESHandle< SiPixelFedCablingMap > theCablingMap
void bookDeviations(DQMStore::IBooker &iBooker, bool isUpgrade)
void createSummary(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, bool isUpgrade)
MonitorElement * DEV_adc_Endcap
void fillFEDErrorSummary(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, std::string dir_name, std::vector< std::string > &me_names)
MonitorElement * DEV_charge_Endcap
MonitorElement * getSummaryME(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, std::string me_name, bool isUpgrade)
int getLadder(const std::string &dname)
void fillOccupancy(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, bool isbarrel)
SiPixelActionExecutor(bool offlineXMLfile, bool Tier0Flag)
MonitorElement * DEV_charge_Barrel
MonitorElement * HitEfficiency_Dm3
MonitorElement * HitEfficiency_L1
MonitorElement * DEV_nclusters_Endcap
MonitorElement * HitEfficiency_Dp1
MonitorElement * DEV_size_Endcap
MonitorElement * HitEfficiencySummary
void fillEfficiencySummary(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter)
void createOccupancy(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter)
MonitorElement * HitEfficiency_Dp2
void fillGrandBarrelSummaryHistos(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, std::vector< std::string > &me_names, bool isUpgrade)
void fillSummary(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, std::string dir_name, std::vector< std::string > &me_names, bool isbarrel, bool isUpgrade)
MonitorElement * DEV_ndigis_Endcap
void GetBladeSubdirs(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, std::vector< std::string > &blade_subdirs)
MonitorElement * HitEfficiency_Dm1
MonitorElement * DEV_ndigis_Barrel
void bookEfficiency(DQMStore::IBooker &iBooker, bool isUpgrade)
MonitorElement * DEV_adc_Barrel