CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalDetDiagLEDMonitor.h
Go to the documentation of this file.
1 #ifndef DQM_HCALMONITORTASKS_HCALDETDIAGLEDMONITOR_H
2 #define DQM_HCALMONITORTASKS_HCALDETDIAGLEDMONITOR_H
3 
4 // user include files
9 
12 
16 
25 class HcalDetDiagLEDData;
27 class HcalLogicalMap;
28 
30 public:
33 
34  void beginRun(const edm::Run& run, const edm::EventSetup& c);
35  void setup();
36  void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup);// const HcalDbService& cond)
37  void done();
38  void reset();
39  void cleanup();
40  void fillHistos();
41  int GetStatistics(){ return ievt_; }
42 private:
46  // in principle functions below shold use DB interface (will be modefied when DB will be ready...)
47  void SaveReference();
48  void LoadReference();
49  void CheckStatus();
50 
51  HcalDetDiagLEDData* GetCalib(std::string sd,int eta,int phi){
52  int SD=0,ETA=0,PHI=0;
53  if(sd.compare("HB")==0) SD=1;
54  if(sd.compare("HE")==0) SD=2;
55  if(sd.compare("HO")==0) SD=3;
56  if(sd.compare("HF")==0) SD=4;
57  if(SD==1 || SD==2){
58  if(eta>0) ETA=1; else ETA=-1;
59  if(phi==71 ||phi==72 || phi==1 || phi==2) PHI=71; else PHI=((phi-3)/4)*4+3;
60  }else if(SD==3){
61  if(abs(eta)<=4){
62  ETA=0;
63  if(phi==71 ||phi==72 || phi==1 || phi==2 || phi==3 || phi==4) PHI=71; else PHI=((phi-5)/6)*6+5;
64  }else{
65  if(abs(eta)>4 && abs(eta)<=10) ETA=1;
66  if(abs(eta)>10 && abs(eta)<=15) ETA=2;
67  if(eta<0) ETA=-ETA;
68  if(phi==71 ||phi==72 || (phi>=1 && phi<=10)) PHI=71; else PHI=((phi-11)/12)*12+11;
69  }
70  }else if(SD==4){
71  if(eta>0) ETA=1; else ETA=-1;
72  if(phi>=1 && phi<=18) PHI=1;
73  if(phi>=19 && phi<=36) PHI=19;
74  if(phi>=37 && phi<=54) PHI=37;
75  if(phi>=55 && phi<=72) PHI=55;
76  }
77  return calib_data[SD][ETA+2][PHI-1];
78  };
79  int ievt_;
83 
86  bool UseDB;
87 
88  std::string ReferenceData;
89  std::string ReferenceRun;
90  std::string OutputFilePath;
91 
118 
124 
134 
138 
139  void fill_channel_status(std::string subdet,int eta,int phi,int depth,int type,double status);
140  void fill_energy(std::string subdet,int eta,int phi,int depth,double e,int type);
141  double get_energy(std::string subdet,int eta,int phi,int depth,int type);
142 };
143 
144 #endif
MonitorElement * Time2Dhbhehf
type
Definition: HCALResponse.h:22
HcalLogicalMapGenerator * gen
#define abs(x)
Definition: mlp_lapack.h:159
HcalDetDiagLEDData * calib_data[5][5][72]
void fill_channel_status(std::string subdet, int eta, int phi, int depth, int type, double status)
T eta() const
HcalDetDiagLEDData * GetCalib(std::string sd, int eta, int phi)
#define ETA
int iEvent
Definition: GenABIO.cc:243
HcalDetDiagLEDData * hb_data[85][72][4]
EtaPhiHists ChannelStatusMissingChannels
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup)
HcalDetDiagLEDMonitor(const edm::ParameterSet &ps)
HcalDetDiagLEDData * hf_data[85][72][4]
void beginRun(const edm::Run &run, const edm::EventSetup &c)
#define PHI
EtaPhiHists ChannelStatusUnstableLEDsignal
MonitorElement * Energy2Dhbhehf
void fill_energy(std::string subdet, int eta, int phi, int depth, double e, int type)
EtaPhiHists ChannelStatusUnstableChannels
HcalDetDiagLEDData * ho_data[85][72][4]
double get_energy(std::string subdet, int eta, int phi, int depth, int type)
tuple status
Definition: ntuplemaker.py:245
HcalDetDiagLEDData * he_data[85][72][4]
Definition: Run.h:32
Definition: DDAxes.h:10