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 
32 {
33  public:
36 
37  void setup();
38  void processEvent(const FEDRawDataCollection& rawraw, const
40  void unpack(const FEDRawData& raw, const HcalElectronicsMap& emap);
41  void cleanup();
42  void reset();
43 
44  void beginRun(const edm::Run& run, const edm::EventSetup& c);
45  void analyze(const edm::Event&, const edm::EventSetup&);
46 
47  public: //Electronics map -> geographic channel map
48  std::map<uint32_t, std::vector<HcalDetId> > DCCtoCell;
49  std::map<uint32_t, std::vector<HcalDetId> > ::iterator thisDCC;
50 
51  private:
52  //backstage accounting mechanisms for the ProblemMap
53  static size_t iphirange; // = IPHIMAX - IPHIMIN;
54  static size_t ietarange; // = IETAMAX - IETAMIN;
55  std::vector<std::vector<bool> > problemhere; // Whole HCAL
56  std::vector<std::vector<bool> > problemHB; //
57  std::vector<std::vector<bool> > problemHE; //
58  std::vector<std::vector<bool> > problemHF; // Includes ZDC?
59  std::vector<std::vector<bool> > problemHO; //
60  void mapHTRproblem (int dcc, int spigot) ;
61  void mapDCCproblem(int dcc) ;
62  void fillzoos(int bin, int dccid);
63  std::vector<std::vector<uint64_t> > phatmap; // iphi/ieta projection of all hcal cells
64  std::vector<std::vector<uint64_t> > HBmap; // iphi/ieta projection of hb
65  std::vector<std::vector<uint64_t> > HEmap; // iphi/ieta projection of he
66  std::vector<std::vector<uint64_t> > HFmap; // iphi/ieta projection of hf
67  std::vector<std::vector<uint64_t> > HOmap; // iphi/ieta projection of ho
68  void UpdateMap();
69 
70  // Data accessors
71  std::vector<int> fedUnpackList_;
72  std::vector<int> dccCrate_;
73  std::vector<HcalSubdetector> dccSubdet_;
74  int firstFED_;
75  int lastEvtN_;
76  int lastBCN_;
77  // int dccnum_;
78  //int cratenum_;
79 
80  int prtlvl_;
81 
82  private: //Monitoring elements
83 
87 
88  //Member variables for reference values to be used in consistency checks.
89  std::map<int, short> CDFversionNumber_list;
90  std::map<int, short>::iterator CDFvers_it;
91  std::map<int, short> CDFEventType_list;
92  std::map<int, short>::iterator CDFEvT_it;
93  std::map<int, short> CDFReservedBits_list;
94  std::map<int, short>::iterator CDFReservedBits_it;
95  std::map<int, short> DCCEvtFormat_list;
96  std::map<int, short>::iterator DCCEvtFormat_it;
97  std::map<int, short> DCCRsvdBits_list;
98  std::map<int, short>::iterator DCCRsvdBits_it;
99 
100  //static member variables
101  static float DIMbin[32];
102 
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
void beginRun(const edm::Run &run, const edm::EventSetup &c)
std::vector< HcalSubdetector > dccSubdet_
std::vector< std::vector< bool > > problemHE
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)
std::vector< std::vector< bool > > problemhere
Definition: Run.h:36