1 #ifndef CALIBRATION_ECALCALIBALGOS_ZEECALIBRATION
2 #define CALIBRATION_ECALCALIBALGOS_ZEECALIBRATION
54 #include "TGraphErrors.h"
110 void fillEleInfo(std::vector<HepMC::GenParticle*>&
a, std::map<HepMC::GenParticle*, const reco::GsfElectron*>&
b);
113 void fillMCmap(
const std::vector<const reco::GsfElectron*>* electronCollection,
114 const std::vector<HepMC::GenParticle*>& mcEle,
115 std::map<HepMC::GenParticle*, const reco::GsfElectron*>& myMCmap);
119 float EvalDR(
float Eta,
float Eta_ref,
float Phi,
float Phi_ref);
200 std::shared_ptr<EcalIntercalibConstants>
ical;
314 Int_t
BBZN,
EBZN,
EEZN,
BBZN_gg,
EBZN_gg,
EEZN_gg,
BBZN_tt,
EBZN_tt,
EEZN_tt,
BBZN_t0,
EBZN_t0,
EEZN_t0;
TH1F * h1_eleERecoOverEtrue_
virtual void produce(edm::Event &, const edm::EventSetup &)
Dummy implementation (job done in duringLoop)
const edm::EDGetTokenT< edm::HepMCProduct > hepMCToken_
std::string outputFileName_
double fEtaEndcapGood(double scEta) const
const std::string electronCollection_
const std::string electronProducer_
const edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geometryToken_
int BARREL_ELECTRONS_AFTER_BORDER_CUT
TH1F * h1_eventsBeforeEWKSelection_
double fEtaBarrelBad(double scEta) const
float computeCoefficientDistanceAtIteration(float v1[250], float v2[250], int size)
const edm::EDGetTokenT< EERecHitCollection > eeRecHitToken_
int GOLDEN_ELECTRONS_IN_ENDCAP
TH1F * h1_occupancyVsEtaGold_
TH1F * h1_eventsAfterBorderSelection_
void fillMCmap(const std::vector< const reco::GsfElectron * > *electronCollection, const std::vector< HepMC::GenParticle * > &mcEle, std::map< HepMC::GenParticle *, const reco::GsfElectron * > &myMCmap)
const std::string erechitProducer_
TH1F * h1_reco_ZMassGood_
TH1F * h1_occupancyEndcap_
Status duringLoop(const edm::Event &, const edm::EventSetup &) override
Called at each event.
TH1F * h1_occupancyVsEtaShower_
TH1F * h1_eventsBeforeBorderSelection_
TH1F * h1_electronCosTheta_SC_
double fEtaEndcapBad(double scEta) const
TH1F * h1_reco_ZMassCorr_
int GOLDEN_ELECTRONS_IN_BARREL
const edm::InputTag hlTriggerResults_
bool aTriggerResults[200]
TH2F * h2_coeffVsEtaGrouped_
TH1F * h1_occupancyVsEta_
TH1F * h1_occupancyBarrel_
~ZeeCalibration() override
Destructor.
const edm::EDGetTokenT< edm::TriggerResults > trigResultsToken_
float EvalDR(float Eta, float Eta_ref, float Phi, float Phi_ref)
TH1F * h1_electronCosTheta_TK_
const std::string erechitCollection_
TH2F * h_ESCcorrEtrueVsEta_[25]
const std::string scIslandCollection_
int ringNumberCorrector(int k)
int SILVER_ELECTRONS_IN_BARREL
void beginOfJob() override
Called at beginning of job.
int TOTAL_ELECTRONS_IN_ENDCAP
int BARREL_ELECTRONS_BEFORE_BORDER_CUT
int SHOWER_ELECTRONS_IN_ENDCAP
const std::string scProducer_
std::vector< std::string > hlNames_
ZIterativeAlgorithmWithFit * theAlgorithm_
const edm::EDGetTokenT< reco::SuperClusterCollection > islandSCToken_
ZeeRescaleFactorPlots * myZeeRescaleFactorPlots_
unsigned int electronSelection_
bool xtalIsOnModuleBorder(EBDetId myEBDetId)
TH2F * h2_xtalRecalibCoeffBarrel_[25]
const std::string scCollection_
float EvalDPhi(float Phi, float Phi_ref)
TH1F * h1_eventsAfterEWKSelection_
TH1F * h1_preshowerOverSC_
const std::string rechitCollection_
TH1F * h1_electronCosTheta_SC_TK_
double coefficientDistanceAtIteration[50]
TH2F * h2_zMassDiffVsLoop_
void startingNewLoop(unsigned int iLoop) override
Called at beginning of loop.
const edm::EDGetTokenT< reco::SuperClusterCollection > scToken_
void fillMCInfo(HepMC::GenParticle *mcele)
edm::ParameterSet theParameterSet
std::vector< unsigned int > hlErrors_
TH1F * h_ESCcorrEtrue_[25]
std::pair< DetId, double > getHottestDetId(const std::vector< std::pair< DetId, float > > &mySCRecHits, const EBRecHitCollection *ebhits, const EERecHitCollection *eehits)
TH2F * h2_xtalMiscalibCoeffEndcapPlus_
TH1F * h1_occupancyVsEtaCrack_
std::vector< unsigned int > hlAccept_
const std::string scIslandProducer_
const edm::EDGetTokenT< EBRecHitCollection > ebRecHitToken_
Status endOfLoop(const edm::EventSetup &, unsigned int iLoop) override
Called at end of loop.
const std::string mcProducer_
float initCalibCoeff[250]
int SILVER_ELECTRONS_IN_ENDCAP
TH1F * h1_reco_ZMassCorrBB_
const edm::EDGetTokenT< reco::GsfElectronCollection > gsfElectronToken_
virtual std::shared_ptr< EcalIntercalibConstants > produceEcalIntercalibConstants(const EcalIntercalibConstantsRcd &iRecord)
Produce Ecal interCalibrations.
TH1F * h1_reco_ZMassCorrEE_
TH2F * h2_xtalMiscalibCoeffBarrel_
void fillEleInfo(std::vector< HepMC::GenParticle * > &a, std::map< HepMC::GenParticle *, const reco::GsfElectron * > &b)
TH1F * h1_weightSumMeanBarrel_
double fEtaBarrelGood(double scEta) const
TH2F * h_ESCEtrueVsEta_[25]
TH2F * h2_iterations_[25]
ZeeCalibration(const edm::ParameterSet &iConfig)
Constructor.
char aTriggerNames[200][30]
float calibCoeffError[250]
TH2F * h2_xtalRecalibCoeffEndcapPlus_[25]
int CRACK_ELECTRONS_IN_ENDCAP
int CRACK_ELECTRONS_IN_BARREL
TH2F * h2_fEtaEndcapGood_
TH2F * h2_xtalRecalibCoeffEndcapMinus_[25]
std::vector< unsigned int > hlWasRun_
double getEtaCorrection(const reco::GsfElectron *)
const std::string rechitProducer_
TH2F * h2_fEtaBarrelGood_
tuple size
Write out results.
TH1F * h1_borderElectronClassification_
TH2F * h2_xtalMiscalibCoeffEndcapMinus_
void endOfJob() override
Called at end of job.
TH1F * h1_occupancyVsEtaSilver_
double sigmaErrorArray[50]
int SHOWER_ELECTRONS_IN_BARREL
int TOTAL_ELECTRONS_IN_BARREL
TH1F * h1_weightSumMeanEndcap_
std::shared_ptr< EcalIntercalibConstants > ical