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