CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/RecoParticleFlow/PFClusterTools/interface/Exercises3.h

Go to the documentation of this file.
00001 #ifndef EXERCISES3_H_
00002 #define EXERCISES3_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 
00011 #include <string>
00012 #include <vector>
00013 #include <TFile.h>
00014 #include <TTree.h>
00015 #include <TChain.h>
00016 #include <fstream>
00017 
00018 
00019 namespace pftools {
00020 class IO;
00021 
00022 class Exercises3 {
00023 public:
00024                 
00025         Exercises3(IO* options);
00026         
00027         virtual ~Exercises3();
00028         
00029         void calibrateCalibratables(TChain& sourceTree,
00030                                 const std::string& exercisefile);
00031 
00032         //void gaussianFits(TFile& exercisefile, std::vector<Calibratable>& calibs);
00033 
00034         void evaluateCalibrator(SpaceManagerPtr s, CalibratorPtr c, TTree& tree,
00035                         Calibratable* calibrated, DetectorElementPtr ecal,
00036                         DetectorElementPtr hcal, DetectorElementPtr offset, CalibrationProvenance cp, CalibrationProvenance cpCorr = NONE);
00037 
00038         
00039         void evaluateSpaceManager(SpaceManagerPtr s, std::vector<DetectorElementPtr> detEls);
00040 
00041         
00042         void setTarget(CalibrationTarget t) {
00043                 target_ = t;
00044         }
00045         
00046         
00047         void getCalibrations(SpaceManagerPtr s);
00048 
00049 private:
00050         
00051         Exercises3(const Exercises3&);
00052         void operator=(const Exercises3&);
00053 //      double lowE_, highE_, lowEta_, highEta_, lowPhi_, highPhi_;
00054 //      unsigned divE_, divEta_, divPhi_;
00055         bool withOffset_;
00056         CalibrationTarget target_;
00057         unsigned threshold_;
00058         std::vector<DetectorElementPtr> elements_;
00059         IO* options_;
00060         std::ofstream calibResultsFile_;
00061         unsigned debug_;
00062         PFClusterCalibration clusterCalibration_;
00063 
00064 };
00065 }
00066 
00067 #endif /*EXERCISES3_H_*/