![]() |
![]() |
00001 00007 #include <iostream> 00008 #include <time.h> 00009 #include <sys/stat.h> 00010 #include <unistd.h> 00011 #include <fstream> 00012 #include "OnlineDB/CSCCondDB/interface/CSCMap.h" 00013 #include "OnlineDB/CSCCondDB/interface/CSCOnlineDB.h" 00014 #include "CondFormats/CSCObjects/interface/CSCobject.h" 00015 #include "TFile.h" 00016 #include "TTree.h" 00017 #include "TH2F.h" 00018 00019 class TCalibSaturationEvt { 00020 public: 00021 Int_t strip; 00022 Int_t layer; 00023 Int_t cham; 00024 Int_t id; 00025 Float_t N; 00026 Float_t a; 00027 Float_t b; 00028 Float_t c; 00029 }; 00030 00031 class CSCSaturationAnalyzer : public edm::EDAnalyzer { 00032 public: 00033 explicit CSCSaturationAnalyzer(edm::ParameterSet const& conf); 00034 virtual void analyze(edm::Event const& e, edm::EventSetup const& iSetup); 00035 00036 #define CHAMBERS_sat 13 00037 #define LAYERS_sat 6 00038 #define STRIPS_sat 80 00039 #define NUMBERPLOTTED_sat 20 00040 #define NUMMODTEN_sat 500 00041 #define PULSES_sat 25 00042 #define DDU_sat 4 00043 00044 ~CSCSaturationAnalyzer(); 00045 float (*charge_ptr)[NUMBERPLOTTED_sat]; 00046 float (*adc_ptr)[NUMMODTEN_sat]; 00047 00048 private: 00049 std::vector<int> newadc; 00050 std::string chamber_id; 00051 int eventNumber,evt,chamber_num,sector,i_chamber,i_layer,reportedChambers,first_strip_index,strips_per_layer,chamber_index; 00052 int fff,ret_code,length,strip,misMatch,NChambers,Nddu,record,myNcham,myIndex,counterzero; 00053 time_t rawtime; 00054 int dmbID[CHAMBERS_sat],crateID[CHAMBERS_sat],size[CHAMBERS_sat]; 00055 float adcMax[DDU_sat][CHAMBERS_sat][LAYERS_sat][STRIPS_sat]; 00056 float adcMean_max[DDU_sat][CHAMBERS_sat][LAYERS_sat][STRIPS_sat]; 00057 float maxmodten[NUMMODTEN_sat][CHAMBERS_sat][LAYERS_sat][STRIPS_sat]; 00058 int lines; 00059 std::ifstream filein; 00060 std::string PSet,name,chamber_type; 00061 bool debug; 00062 float myCharge[NUMBERPLOTTED_sat],myCharge_for_plots[NUMBERPLOTTED_sat],mySatADC[NUMBERPLOTTED_sat],mySatADC_for_plots[NUMBERPLOTTED_sat],aVar,bVar; 00063 TH2F adc_vs_charge; 00064 TH2F adc00_vs_charge; 00065 TH2F adc01_vs_charge; 00066 TH2F adc02_vs_charge; 00067 TH2F adc03_vs_charge; 00068 TH2F adc04_vs_charge; 00069 TH2F adc05_vs_charge; 00070 TH2F adc06_vs_charge; 00071 TH2F adc07_vs_charge; 00072 TH2F adc08_vs_charge; 00073 TH2F adc09_vs_charge; 00074 TH2F adc10_vs_charge; 00075 TH2F adc11_vs_charge; 00076 TH2F adc12_vs_charge; 00077 00078 };