CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch1/src/OnlineDB/CSCCondDB/interface/CSCAFEBConnectAnalysis.h

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