CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/OnlineDB/CSCCondDB/interface/CSCAFEBThrAnalysis.h

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