00001
00009 #include <iostream>
00010 #include <time.h>
00011 #include <sys/stat.h>
00012 #include <unistd.h>
00013 #include <fstream>
00014
00015 #include "OnlineDB/CSCCondDB/interface/CSCMap1.h"
00016 #include "OnlineDB/CSCCondDB/interface/CSCOnlineDB.h"
00017 #include "CondFormats/CSCObjects/interface/CSCobject.h"
00018 #include "TFile.h"
00019 #include "TTree.h"
00020 #include "TH1F.h"
00021 #include "TH2F.h"
00022 #include "TCanvas.h"
00023
00024 class TCalibCFEBConnectEvt {
00025 public:
00026 Int_t strip;
00027 Int_t layer;
00028 Int_t cham;
00029 Int_t ddu;
00030 Float_t adcMax;
00031 Float_t adcMin;
00032 Float_t diff;
00033 Float_t RMS;
00034 Int_t id;
00035 Int_t flagConnect;
00036 };
00037
00038 class CSCCFEBConnectivityAnalyzer : public edm::EDAnalyzer {
00039 public:
00040 explicit CSCCFEBConnectivityAnalyzer(edm::ParameterSet const& conf);
00041 virtual void analyze(edm::Event const& e, edm::EventSetup const& iSetup);
00042
00043 #define CHAMBERS_con 18
00044 #define LAYERS_con 6
00045 #define STRIPS_con 80
00046 #define TIMEBINS_con 8
00047 #define DDU_con 2
00048 #define TOTALSTRIPS_con 480
00049 #define TOTALEVENTS_con 400
00050
00051 ~CSCCFEBConnectivityAnalyzer();
00052
00053 private:
00054 int eventNumber,evt,strip,misMatch,fff,ret_code,length,Nddu,myevt,myNcham;
00055 int chamber,layer,reportedChambers,chamber_num,sector,record,NChambers,first_strip_index,strips_per_layer, chamber_index;
00056 int dmbID[CHAMBERS_con],crateID[CHAMBERS_con],size[CHAMBERS_con];
00057 float adcMin[DDU_con][CHAMBERS_con][LAYERS_con][STRIPS_con];
00058 float adcMax[DDU_con][CHAMBERS_con][LAYERS_con][STRIPS_con];
00059 float adcMean_max[DDU_con][CHAMBERS_con][LAYERS_con][STRIPS_con];
00060 float adcMean_min[DDU_con][CHAMBERS_con][LAYERS_con][STRIPS_con];
00061 float diff[DDU_con][CHAMBERS_con][LAYERS_con][STRIPS_con];
00062 std::vector<int> adc;
00063 std::string chamber_id;
00064 int lines,myIndex,flagConnect;
00065 float my_diff,my_diffSquare,theRMS;
00066 std::ifstream filein;
00067 std::string PSet,name,chamber_type;
00068 bool debug;
00069 int flag;
00070
00071
00072 TCalibCFEBConnectEvt calib_evt;
00073 TBranch *calibevt;
00074 TTree *calibtree;
00075 TFile *calibfile;
00076 };
00077
00078