CMS 3D CMS Logo

EcalEndcapSimHitsValidation.h
Go to the documentation of this file.
1 #ifndef EcalEndcapSimHitsValidation_H
2 #define EcalEndcapSimHitsValidation_H
3 
4 /*
5  * \file EcalEndcapSimHitsValidation.h
6  *
7  * \author C.Rovelli
8  *
9  */
10 
13 
19 
22 
25 
29 
30 #include <fstream>
31 #include <iostream>
32 #include <map>
33 #include <vector>
34 
36  typedef std::map<uint32_t, float, std::less<uint32_t>> MapType;
37 
38 public:
41 
44 
47 
48 protected:
50  void analyze(const edm::Event &e, const edm::EventSetup &c) override;
51 
52  // BeginJob
53  void beginJob() override;
54 
55  // EndJob
56  void endJob(void) override;
57 
58 private:
59  uint32_t getUnitWithMaxEnergy(MapType &themap);
60 
61  virtual float energyInMatrixEE(int nCellInX, int nCellInY, int centralX, int centralY, int centralZ, MapType &themap);
62 
63  std::vector<uint32_t> getIdsAroundMax(
64  int nCellInX, int nCellInY, int centralX, int centralY, int centralZ, MapType &themap);
65 
66  bool fillEEMatrix(
67  int nCellInX, int nCellInY, int CentralX, int CentralY, int CentralZ, MapType &fillmap, MapType &themap);
68 
69  float eCluster2x2(MapType &themap);
70  float eCluster4x4(float e33, MapType &themap);
71 
75 
78 
79  bool verbose_;
80 
81  DQMStore *dbe_;
82 
84 
85  int myEntries;
86  float eRLength[26];
87 
88  MonitorElement *meEEzpHits_;
89  MonitorElement *meEEzmHits_;
90 
91  MonitorElement *meEEzpCrystals_;
92  MonitorElement *meEEzmCrystals_;
93 
94  MonitorElement *meEEzpOccupancy_;
95  MonitorElement *meEEzmOccupancy_;
96 
97  MonitorElement *meEELongitudinalShower_;
98 
99  MonitorElement *meEEHitEnergy_;
100 
101  MonitorElement *meEEhitLog10Energy_;
102 
103  MonitorElement *meEEhitLog10EnergyNorm_;
104 
105  MonitorElement *meEEhitLog10Energy25Norm_;
106 
107  MonitorElement *meEEHitEnergy2_;
108 
109  MonitorElement *meEEcrystalEnergy_;
110  MonitorElement *meEEcrystalEnergy2_;
111 
112  MonitorElement *meEEe1_;
113  MonitorElement *meEEe4_;
114  MonitorElement *meEEe9_;
115  MonitorElement *meEEe16_;
116  MonitorElement *meEEe25_;
117 
118  MonitorElement *meEEe1oe4_;
119  MonitorElement *meEEe1oe9_;
120  MonitorElement *meEEe4oe9_;
121  MonitorElement *meEEe9oe16_;
122  MonitorElement *meEEe1oe25_;
123  MonitorElement *meEEe9oe25_;
124  MonitorElement *meEEe16oe25_;
125 };
126 
127 #endif
~EcalEndcapSimHitsValidation() override
Destructor.
edm::EDGetTokenT< PEcalValidInfo > ValidationCollectionToken
virtual float energyInMatrixEE(int nCellInX, int nCellInY, int centralX, int centralY, int centralZ, MapType &themap)
dqm::legacy::MonitorElement MonitorElement
std::map< uint32_t, float, std::less< uint32_t > > MapType
float eCluster4x4(float e33, MapType &themap)
bool fillEEMatrix(int nCellInX, int nCellInY, int CentralX, int CentralY, int CentralZ, MapType &fillmap, MapType &themap)
edm::EDGetTokenT< edm::PCaloHitContainer > EEHitsToken
uint32_t getUnitWithMaxEnergy(MapType &themap)
void analyze(const edm::Event &e, const edm::EventSetup &c) override
Analyze.
std::vector< uint32_t > getIdsAroundMax(int nCellInX, int nCellInY, int centralX, int centralY, int centralZ, MapType &themap)
EcalEndcapSimHitsValidation(const edm::ParameterSet &ps)
Constructor.