Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

#include "FWCore/ParameterSet/interface/ParameterSet.h"

#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
#include "DataFormats/EcalDetId/interface/EBDetId.h"
#include "DataFormats/DetId/interface/DetId.h"
#include "CondFormats/EcalObjects/interface/EcalIntercalibConstants.h"
#include "CondFormats/DataRecord/interface/EcalIntercalibConstantsRcd.h"
#include "Calibration/Tools/interface/calibXMLwriter.h"
#include "Calibration/Tools/interface/CalibrationCluster.h"
#include "Calibration/Tools/interface/HouseholderDecomposition.h"
#include "Calibration/Tools/interface/MinL3Algorithm.h"
#include "Calibration/EcalCalibAlgos/interface/ZeeRescaleFactorPlots.h"
#include "DataFormats/EgammaCandidates/interface/Electron.h"
#include "DataFormats/EgammaReco/interface/SuperCluster.h"
#include "DataFormats/TrackReco/interface/Track.h"
#include "DataFormats/TrackReco/interface/TrackFwd.h"
#include "DataFormats/TrackReco/interface/TrackExtraFwd.h"
#include "TFile.h"
#include "TH1.h"
#include "TH2.h"
#include "TF1.h"
#include "TRandom.h"

#include <iostream>
#include <string>
#include <stdexcept>
#include <vector>

#include "DataFormats/EgammaCandidates/interface/GsfElectron.h"

ZeeRescaleFactorPlots::ZeeRescaleFactorPlots(char* fileName) {
  fileName_ = fileName;
  file_ = new TFile(fileName_, "RECREATE");
}

ZeeRescaleFactorPlots::~ZeeRescaleFactorPlots() {
  file_->Close();

  delete file_;
}

//========================================================================

void ZeeRescaleFactorPlots::writeHistograms(ZIterativeAlgorithmWithFit* theAlgorithm_) {
  file_->cd();

  const ZIterativeAlgorithmWithFit::ZIterativeAlgorithmWithFitPlots* algoHistos = theAlgorithm_->getHistos();

  for (int iIteration = 0; iIteration < theAlgorithm_->getNumberOfIterations(); iIteration++)
    for (int iChannel = 0; iChannel < theAlgorithm_->getNumberOfChannels(); iChannel++) {
      if (iChannel % 20 == 0) {
        file_->cd();

        algoHistos->weightedRescaleFactor[iIteration][iChannel]->Write();
        algoHistos->unweightedRescaleFactor[iIteration][iChannel]->Write();
        algoHistos->weight[iIteration][iChannel]->Write();
      }
    }
}