00001 #ifndef CSCAFEBTHRANALYSIS_H 00002 #define CSCAFEBTHRANALYSIS_H 00003 00004 #include "TH1.h" 00005 #include "TH2.h" 00006 #include "TFile.h" 00007 #include "DataFormats/CSCDigi/interface/CSCWireDigiCollection.h" 00008 #include "OnlineDB/CSCCondDB/interface/CSCToAFEB.h" 00009 #include <map> 00010 #include <string> 00011 #include <sstream> 00012 #include <stdio.h> 00013 00020 class CSCAFEBThrAnalysis { 00021 public: 00022 CSCAFEBThrAnalysis(); 00023 void setup(const std::string& histoFileName); 00024 void analyze(const CSCWireDigiCollection& wirecltn); 00025 void done(); 00026 00027 private: 00028 void bookForId(int flag, const int& idint,const std::string& ids); 00029 void hf1ForId(std::map<int, TH1*>& mp, int flag, const int& id, 00030 float& x, float w); 00031 void hf2ForId(std::map<int, TH2*>& mp, int flag, const int& id, 00032 float& x, float& y, float w); 00034 int nmbev; 00035 int nmbev_no_wire; 00036 00038 int npulses; 00039 int unsigned indDac; 00040 int BegDac; 00041 int EndDac; 00042 int EvDac; 00043 int StepDac; 00044 std::vector<float> vecDac; 00045 std::vector<int> vecDacOccup; 00046 00048 std::map<int, std::vector<int> > m_wire_ev; 00049 std::map<int, std::vector<std::vector<int> > > m_wire_dac; 00050 std::map<int, std::vector<std::vector<float> > > m_res_for_db; 00051 00053 const CSCToAFEB csctoafeb; 00054 00056 TFile* hist_file; 00057 00059 std::map<int, TH1*> mh_ChanEff; 00060 00061 std::map<int, TH2*> mh_FirstTime; 00062 std::map<int, TH2*> mh_AfebDac; 00063 std::map<int, TH2*> mh_AfebThrPar; 00064 std::map<int, TH2*> mh_AfebNoisePar; 00065 std::map<int, TH2*> mh_AfebNDF; 00066 std::map<int, TH2*> mh_AfebChi2perNDF; 00067 }; 00068 00069 #endif