00001 #ifndef DTTTrigOffsetCalibration_H 00002 #define DTTTrigOffsetCalibration_H 00003 00012 #include "FWCore/Framework/interface/EDAnalyzer.h" 00013 #include "FWCore/Utilities/interface/InputTag.h" 00014 00015 #include <map> 00016 00017 namespace edm { 00018 class ParameterSet; 00019 class Event; 00020 class EventSetup; 00021 } 00022 00023 class DTChamberId; 00024 class DTTtrig; 00025 class TFile; 00026 class TH1F; 00027 00028 class DTTTrigOffsetCalibration : public edm::EDAnalyzer { 00029 public: 00030 // Constructor 00031 DTTTrigOffsetCalibration(const edm::ParameterSet& pset); 00032 00033 // Destructor 00034 virtual ~DTTTrigOffsetCalibration(); 00035 00036 void beginRun(const edm::Run& run, const edm::EventSetup& setup); 00037 void analyze(const edm::Event& event, const edm::EventSetup& eventSetup); 00038 void endJob(); 00039 void bookHistos(DTChamberId); 00040 00041 protected: 00042 00043 private: 00044 00045 typedef std::map<DTChamberId, std::vector<TH1F*> > ChamberHistosMap; 00046 00047 // The label used to retrieve 4D segments from the event 00048 edm::InputTag theRecHits4DLabel_; 00049 00050 // The file which will contain the t0-seg histograms 00051 TFile *theFile_; 00052 00053 // Do t0-seg correction to ttrig 00054 bool doTTrigCorrection_; 00055 00056 // TTrig map 00057 const DTTtrig *tTrigMap; 00058 00059 // Check for noisy channels 00060 bool checkNoisyChannels_; 00061 00062 // Map of superlayers and t0-seg histos 00063 ChamberHistosMap theT0SegHistoMap_; 00064 00065 // Maximum value for the 4D Segment chi2 00066 double theMaxChi2_; 00067 00068 // Maximum incident angle for Phi Seg 00069 double theMaxPhiAngle_; 00070 00071 // Maximum incident angle for Theta Seg 00072 double theMaxZAngle_; 00073 00074 // Choose the chamber you want to calibrate 00075 std::string theCalibChamber_; 00076 00077 std::string dbLabel; 00078 00079 }; 00080 #endif 00081