CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HcalDataIntegrityTask.h
Go to the documentation of this file.
1 #ifndef DQM_HCALMONITORTASKS_HCALDATAINTEGRITYTASK_H
2 #define DQM_HCALMONITORTASKS_HCALDATAINTEGRITYTASK_H
3 
4 #define IETAMIN -43
5 #define IETAMAX 43
6 #define IPHIMIN 0
7 #define IPHIMAX 71
8 #define HBHE_LO_DCC 700
9 #define HBHE_HI_DCC 717
10 #define HF_LO_DCC 718
11 #define HF_HI_DCC 724
12 #define HO_LO_DCC 725
13 #define HO_HI_DCC 731
14 
20 
21 #include <map>
22 
30 {
31  public:
34 
35  void setup(DQMStore::IBooker &);
36  void processEvent(const FEDRawDataCollection& rawraw, const
38  void unpack(const FEDRawData& raw, const HcalElectronicsMap& emap);
39  void reset();
40 
42  void analyze(const edm::Event&, const edm::EventSetup&);
43 
44  public: //Electronics map -> geographic channel map
45  std::map<uint32_t, std::vector<HcalDetId> > DCCtoCell;
46  std::map<uint32_t, std::vector<HcalDetId> > ::iterator thisDCC;
47 
48  private:
49  //backstage accounting mechanisms for the ProblemMap
50  static size_t iphirange; // = IPHIMAX - IPHIMIN;
51  static size_t ietarange; // = IETAMAX - IETAMIN;
52  std::vector<std::vector<bool> > problemhere; // Whole HCAL
53  std::vector<std::vector<bool> > problemHB; //
54  std::vector<std::vector<bool> > problemHE; //
55  std::vector<std::vector<bool> > problemHF; // Includes ZDC?
56  std::vector<std::vector<bool> > problemHO; //
57  void mapHTRproblem (int dcc, int spigot) ;
58  void mapDCCproblem(int dcc) ;
59  void fillzoos(int bin, int dccid);
60  std::vector<std::vector<uint64_t> > phatmap; // iphi/ieta projection of all hcal cells
61  std::vector<std::vector<uint64_t> > HBmap; // iphi/ieta projection of hb
62  std::vector<std::vector<uint64_t> > HEmap; // iphi/ieta projection of he
63  std::vector<std::vector<uint64_t> > HFmap; // iphi/ieta projection of hf
64  std::vector<std::vector<uint64_t> > HOmap; // iphi/ieta projection of ho
65  void UpdateMap();
66 
67  // Data accessors
68  std::vector<int> fedUnpackList_;
69  std::vector<int> dccCrate_;
70  std::vector<HcalSubdetector> dccSubdet_;
71  int firstFED_;
72  int lastEvtN_;
73  int lastBCN_;
74  // int dccnum_;
75  //int cratenum_;
76 
77  int prtlvl_;
78 
79  private: //Monitoring elements
80 
84 
85  //Member variables for reference values to be used in consistency checks.
86  std::map<int, short> CDFversionNumber_list;
87  std::map<int, short>::iterator CDFvers_it;
88  std::map<int, short> CDFEventType_list;
89  std::map<int, short>::iterator CDFEvT_it;
90  std::map<int, short> CDFReservedBits_list;
91  std::map<int, short>::iterator CDFReservedBits_it;
92  std::map<int, short> DCCEvtFormat_list;
93  std::map<int, short>::iterator DCCEvtFormat_it;
94  std::map<int, short> DCCRsvdBits_list;
95  std::map<int, short>::iterator DCCRsvdBits_it;
96 
97  //static member variables
98  static float DIMbin[32];
99 
103 
106 
107 };
108 
109 // For crate numbers:
110 float HcalDataIntegrityTask::DIMbin[]={ 4, 4.5, // FED 700, 701
111  0, 0.5, // FED 702, 703
112  1, 1.5, // FED 704, 705
113  5, 5.5, // FED 706, 707
114  11, 11.5, // FED 708, 709
115  15, 15.5, // FED 710, 711
116  17, 17.5, // FED 712, 713
117  14, 14.5, // FED 714, 715
118  10, 10.5, // FED 716, 717
119  2, 2.5, // FED 718, 719
120  9, 9.5, // FED 720, 721
121  12, 12.5, // FED 722, 723
122  3, 3.5, // FED 724, 725
123  7, 7.5, // FED 726, 727
124  6, 6.5, // FED 728, 729
125  13, 13.5 // FED 730, 731
126 };
127 
128 #endif
std::vector< HcalSubdetector > dccSubdet_
int ib
Definition: cuy.py:660
std::vector< std::vector< bool > > problemHE
edm::EDGetTokenT< FEDRawDataCollection > tok_raw_
std::vector< std::vector< uint64_t > > HFmap
std::map< int, short > CDFversionNumber_list
std::map< int, short >::iterator DCCRsvdBits_it
HcalDataIntegrityTask(const edm::ParameterSet &ps)
std::vector< std::vector< uint64_t > > phatmap
void bookHistograms(DQMStore::IBooker &ib, const edm::Run &run, const edm::EventSetup &c)
std::map< int, short > DCCRsvdBits_list
tuple report
Definition: zeeHLT_cff.py:9
std::map< int, short >::iterator CDFvers_it
void mapDCCproblem(int dcc)
std::map< int, short > DCCEvtFormat_list
std::map< uint32_t, std::vector< HcalDetId > >::iterator thisDCC
std::vector< int > dccCrate_
std::vector< std::vector< uint64_t > > HEmap
const HcalElectronicsMap * readoutMap_
std::vector< int > fedUnpackList_
std::map< int, short >::iterator CDFReservedBits_it
void analyze(const edm::Event &, const edm::EventSetup &)
std::map< int, short >::iterator DCCEvtFormat_it
std::map< uint32_t, std::vector< HcalDetId > > DCCtoCell
MonitorElement * fedEntries_
std::vector< std::vector< bool > > problemHF
std::map< int, short >::iterator CDFEvT_it
void fillzoos(int bin, int dccid)
std::vector< std::vector< uint64_t > > HOmap
void mapHTRproblem(int dcc, int spigot)
std::vector< std::vector< bool > > problemHB
void processEvent(const FEDRawDataCollection &rawraw, const HcalUnpackerReport &report, const HcalElectronicsMap &emap)
std::vector< std::vector< uint64_t > > HBmap
MonitorElement * fedNonFatal_
std::vector< std::vector< bool > > problemHO
std::map< int, short > CDFReservedBits_list
std::map< int, short > CDFEventType_list
void setup(DQMStore::IBooker &)
void unpack(const FEDRawData &raw, const HcalElectronicsMap &emap)
edm::EDGetTokenT< HcalUnpackerReport > tok_report_
std::vector< std::vector< bool > > problemhere
Definition: Run.h:43