00001 00002 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00003 00004 #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" 00005 #include "DataFormats/EcalDetId/interface/EBDetId.h" 00006 #include "DataFormats/DetId/interface/DetId.h" 00007 #include "CondFormats/EcalObjects/interface/EcalIntercalibConstants.h" 00008 #include "CondFormats/DataRecord/interface/EcalIntercalibConstantsRcd.h" 00009 #include "Calibration/Tools/interface/calibXMLwriter.h" 00010 #include "Calibration/Tools/interface/CalibrationCluster.h" 00011 #include "Calibration/Tools/interface/HouseholderDecomposition.h" 00012 #include "Calibration/Tools/interface/MinL3Algorithm.h" 00013 #include "Calibration/EcalAlCaRecoProducers/interface/AlCaPhiSymRecHitsProducer.h" 00014 #include "Calibration/EcalCalibAlgos/interface/ZeeRescaleFactorPlots.h" 00015 #include "DataFormats/EgammaCandidates/interface/Electron.h" 00016 #include "DataFormats/EgammaReco/interface/SuperCluster.h" 00017 #include "DataFormats/TrackReco/interface/Track.h" 00018 #include "DataFormats/TrackReco/interface/TrackFwd.h" 00019 #include "DataFormats/TrackReco/interface/TrackExtraFwd.h" 00020 #include "TFile.h" 00021 #include "TH1.h" 00022 #include "TH2.h" 00023 #include "TF1.h" 00024 #include "TRandom.h" 00025 00026 00027 #include <iostream> 00028 #include <string> 00029 #include <stdexcept> 00030 #include <vector> 00031 00032 #include "DataFormats/EgammaCandidates/interface/GsfElectron.h" 00033 00034 ZeeRescaleFactorPlots::ZeeRescaleFactorPlots( char* fileName ) 00035 { 00036 00037 fileName_ = fileName; 00038 file_ = new TFile(fileName_, "RECREATE"); 00039 } 00040 00041 00042 ZeeRescaleFactorPlots::~ZeeRescaleFactorPlots() 00043 { 00044 00045 file_->Close(); 00046 00047 delete file_; 00048 00049 } 00050 00051 //======================================================================== 00052 00053 void ZeeRescaleFactorPlots::writeHistograms(ZIterativeAlgorithmWithFit* theAlgorithm_){ 00054 00055 file_ -> cd(); 00056 00057 00058 const ZIterativeAlgorithmWithFit::ZIterativeAlgorithmWithFitPlots* algoHistos = theAlgorithm_->getHistos(); 00059 00060 for (int iIteration=0;iIteration<theAlgorithm_->getNumberOfIterations();iIteration++) 00061 for (int iChannel=0;iChannel<theAlgorithm_->getNumberOfChannels();iChannel++) 00062 { 00063 00064 if(iChannel%20==0){ 00065 00066 file_ -> cd(); 00067 00068 algoHistos->weightedRescaleFactor[iIteration][iChannel]->Write(); 00069 algoHistos->unweightedRescaleFactor[iIteration][iChannel]->Write(); 00070 algoHistos->weight[iIteration][iChannel]->Write(); 00071 } 00072 00073 00074 } 00075 00076 00077 } 00078 00079