00001 #ifndef CSCAFEBCONNECTANALYSIS_H 00002 #define CSCAFEBCONNECTANALYSIS_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 CSCAFEBConnectAnalysis { 00021 public: 00022 CSCAFEBConnectAnalysis(); 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 int npulses; 00037 int nmblayers; 00038 int pulsed_layer; 00039 std::vector<int> nmbpulses; 00040 00042 00043 std::map<int, int> m_csc_list; 00044 std::map<int, std::vector<int> > m_wire_ev; 00045 std::map<int, std::vector<std::vector<float> > > m_res_for_db; 00046 00048 const CSCToAFEB csctoafeb; 00049 00051 TFile* hist_file; 00052 00054 std::map<int, TH1*> mh_LayerNmbPulses; 00055 std::map<int, TH1*> mh_WireEff; 00056 std::map<int, TH1*> mh_Eff; 00057 std::map<int, TH1*> mh_WirePairCrosstalk; 00058 std::map<int, TH1*> mh_PairCrosstalk; 00059 std::map<int, TH1*> mh_WireNonPairCrosstalk; 00060 std::map<int, TH1*> mh_NonPairCrosstalk; 00061 std::map<int, TH2*> mh_FirstTime; 00062 }; 00063 00064 #endif