00001 #ifndef CALIBCOMPARE_H_ 00002 #define CALIBCOMAPRE_H_ 00003 00004 #include "DataFormats/ParticleFlowReco/interface/Calibratable.h" 00005 #include "RecoParticleFlow/PFClusterTools/interface/Calibrator.h" 00006 #include "RecoParticleFlow/PFClusterTools/interface/DetectorElement.h" 00007 #include "DataFormats/ParticleFlowReco/interface/CalibrationProvenance.h" 00008 #include "RecoParticleFlow/PFClusterTools/interface/SpaceManager.h" 00009 #include "RecoParticleFlow/PFClusterTools/interface/PFClusterCalibration.h" 00010 #include "RecoParticleFlow/PFClusterTools/interface/Erl_mlp.h" 00011 00012 #include <string> 00013 #include <vector> 00014 #include <TFile.h> 00015 #include <TTree.h> 00016 #include <TChain.h> 00017 #include <fstream> 00018 00019 00020 namespace pftools { 00021 class IO; 00022 00023 class CalibCompare { 00024 public: 00025 00026 CalibCompare(IO* options); 00027 00028 virtual ~CalibCompare(); 00029 00030 void calibrateCalibratables(TChain& sourceTree, 00031 const std::string& exercisefile); 00032 00033 00034 void setTarget(CalibrationTarget t) { 00035 target_ = t; 00036 } 00037 00038 00039 void evaluateCalibrations(TTree& tree, pftools::Calibratable* calibrated, const std::vector<pftools::Calibratable>& calibVec); 00040 00041 private: 00042 00043 CalibCompare(const CalibCompare&); 00044 void operator=(const CalibCompare&); 00045 // double lowE_, highE_, lowEta_, highEta_, lowPhi_, highPhi_; 00046 // unsigned divE_, divEta_, divPhi_; 00047 bool withOffset_; 00048 CalibrationTarget target_; 00049 IO* options_; 00050 unsigned debug_; 00051 00052 double mlpOffset_; 00053 double mlpSlope_; 00054 PFClusterCalibration clusterCalibration_; 00055 Erl_mlp erlCalibration_; 00056 00057 }; 00058 } 00059 00060 #endif /*CALIBCOMPARE_H_*/