Go to the documentation of this file.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