CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

ZeePlots Class Reference

#include <ZeePlots.h>

Inheritance diagram for ZeePlots:
edm::EDAnalyzer

List of all members.

Public Member Functions

void bookEleClassesPlots ()
void bookEleHistograms ()
void bookEleMCHistograms ()
void bookHLTHistograms ()
void bookZHistograms ()
void bookZMCHistograms ()
void fillEleClassesPlots (calib::CalibElectron *)
void fillEleInfo (const reco::GsfElectronCollection *)
void fillEleMCInfo (const HepMC::GenEvent *)
void fillHLTInfo (edm::Handle< edm::TriggerResults >)
void fillZInfo (std::pair< calib::CalibElectron *, calib::CalibElectron * > myZeeCandidate)
void fillZMCInfo (const HepMC::GenEvent *)
void openFile ()
void writeEleClassesPlots ()
void writeEleHistograms ()
void writeHLTHistograms ()
void writeMCEleHistograms ()
void writeMCZHistograms ()
void writeZHistograms ()
 ZeePlots (const char *)
 ZeePlots (const edm::ParameterSet &)
 ~ZeePlots ()
 ~ZeePlots ()

Private Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
virtual void beginJob ()
Bool_t CheckCut1 (const pat::Electron *, Int_t)
Bool_t CheckCut1Inv (const pat::Electron *, Int_t)
Bool_t CheckCut2 (const pat::Electron *, Int_t)
Bool_t CheckCut2Inv (const pat::Electron *, Int_t)
Bool_t CheckCuts1 (const pat::Electron *)
Bool_t CheckCuts1Inverse (const pat::Electron *)
Bool_t CheckCuts1NminusOne (const pat::Electron *, Int_t)
Bool_t CheckCuts2 (const pat::Electron *)
Bool_t CheckCuts2Inverse (const pat::Electron *)
Bool_t CheckCuts2NminusOne (const pat::Electron *, Int_t)
virtual void endJob ()
Bool_t PassPreselectionCriteria1 (const pat::Electron *)
Bool_t PassPreselectionCriteria2 (const pat::Electron *)
Double_t ReturnCandVar (const pat::Electron *, Int_t)

Private Attributes

Float_t calojet_et [5]
Float_t calojet_eta [5]
Float_t calojet_phi [5]
edm::InputTag caloJetCollectionTag_
Double_t cIso1_EB_
Bool_t cIso1_EB_inv
Double_t cIso1_EE_
Bool_t cIso1_EE_inv
Double_t cIso2_EB_
Bool_t cIso2_EB_inv
Double_t cIso2_EE_
Bool_t cIso2_EE_inv
std::vector< Double_t > CutVars1_
std::vector< Double_t > CutVars2_
Int_t DatasetTag_
Double_t deta1_EB_
Bool_t deta1_EB_inv
Double_t deta1_EE_
Bool_t deta1_EE_inv
Double_t deta2_EB_
Bool_t deta2_EB_inv
Double_t deta2_EE_
Bool_t deta2_EE_inv
Double_t dphi1_EB_
Bool_t dphi1_EB_inv
Double_t dphi1_EE_
Bool_t dphi1_EE_inv
Double_t dphi2_EB_
Bool_t dphi2_EB_inv
Double_t dphi2_EE_
Bool_t dphi2_EE_inv
Double_t DRJetFromElectron_
Double_t ecalIso1_EB_
Bool_t ecalIso1_EB_inv
Double_t ecalIso1_EE_
Bool_t ecalIso1_EE_inv
Double_t ecalIso2_EB_
Bool_t ecalIso2_EB_inv
Double_t ecalIso2_EE_
Bool_t ecalIso2_EE_inv
Double_t ecalIsoUser1_EB_
Bool_t ecalIsoUser1_EB_inv
Double_t ecalIsoUser1_EE_
Bool_t ecalIsoUser1_EE_inv
Double_t ecalIsoUser2_EB_
Bool_t ecalIsoUser2_EB_inv
Double_t ecalIsoUser2_EE_
Bool_t ecalIsoUser2_EE_inv
Float_t ele1_cand_et
Float_t ele1_cand_eta
Float_t ele1_cand_phi
Float_t ele1_cr_dcot
Float_t ele1_cr_dist
Float_t ele1_cr_mhitsinner
Int_t ele1_ctfCharge
Float_t ele1_eop
Int_t ele1_gsfCharge
Float_t ele1_id_deta
Float_t ele1_id_dphi
Float_t ele1_id_hoe
Float_t ele1_id_sihih
Float_t ele1_iso_ecal
Float_t ele1_iso_hcal
Float_t ele1_iso_track
Float_t ele1_sc_energy
Float_t ele1_sc_eta
Float_t ele1_sc_gsf_et
Float_t ele1_sc_phi
Int_t ele1_scPixCharge
Float_t ele1_tip_bs
Float_t ele1_tip_pv
Float_t ele1_vx
Float_t ele1_vy
Float_t ele1_vz
Float_t ele2_cand_et
Float_t ele2_cand_eta
Float_t ele2_cand_phi
Float_t ele2_cr_dcot
Float_t ele2_cr_dist
Float_t ele2_cr_mhitsinner
Int_t ele2_ctfCharge
Float_t ele2_eop
Int_t ele2_gsfCharge
Float_t ele2_id_deta
Float_t ele2_id_dphi
Float_t ele2_id_hoe
Float_t ele2_id_sihih
Float_t ele2_iso_ecal
Float_t ele2_iso_hcal
Float_t ele2_iso_track
Float_t ele2_sc_energy
Float_t ele2_sc_eta
Float_t ele2_sc_gsf_et
Float_t ele2_sc_phi
Int_t ele2_scPixCharge
Float_t ele2_tip_bs
Float_t ele2_tip_pv
Float_t ele2_vx
Float_t ele2_vy
Float_t ele2_vz
Double_t eop1_EB_
Bool_t eop1_EB_inv
Double_t eop1_EE_
Bool_t eop1_EE_inv
Double_t eop2_EB_
Bool_t eop2_EB_inv
Double_t eop2_EE_
Bool_t eop2_EE_inv
Float_t event_caloMET
Float_t event_caloMET_phi
Int_t event_datasetTag
Float_t event_Mee
Float_t event_pfMET
Float_t event_pfMET_phi
Float_t event_tcMET
Float_t event_tcMET_phi
Long64_t eventNumber
TFile * file_
const char * fileName_
TH1F * h1_FiredTriggers_
TH1F * h1_gen_ZEta_
TH1F * h1_gen_ZMass_
TH1F * h1_gen_ZPhi_
TH1F * h1_gen_ZPt_
TH1F * h1_gen_ZRapidity_
TH1F * h1_HLT1Electron_FiredEvents_
TH1F * h1_HLT1Electron_HLT2Electron_FiredEvents_
TH1F * h1_HLT1Electron_HLT2Electron_HLT2ElectronRelaxed_FiredEvents_
TH1F * h1_HLT1Electron_HLT2ElectronRelaxed_FiredEvents_
TH1F * h1_HLT2Electron_FiredEvents_
TH1F * h1_HLT2Electron_HLT2ElectronRelaxed_FiredEvents_
TH1F * h1_HLT2ElectronRelaxed_FiredEvents_
TH1F * h1_HLTVisitedEvents_
TH1F * h1_mcEle_Energy_
TH1F * h1_mcEleEta_
TH1F * h1_mcElePhi_
TH1F * h1_mcElePt_
TH1F * h1_nEleReco_
TH1F * h1_occupancyVsEtaCrack_
TH1F * h1_occupancyVsEtaGold_
TH1F * h1_occupancyVsEtaShower_
TH1F * h1_occupancyVsEtaSilver_
TH1F * h1_reco_ZEta_
TH1F * h1_reco_ZPhi_
TH1F * h1_reco_ZPt_
TH1F * h1_reco_ZRapidity_
TH1F * h1_reco_ZTheta_
TH1F * h1_recoEleEnergy_
TH1F * h1_recoEleEta_
TH1F * h1_recoElePhi_
TH1F * h1_recoElePt_
TH1F * h_e_ETA
TH1F * h_e_PHI
TH1F * h_e_PT
TH1F * h_EB_deta
TH1F * h_EB_dphi
TH1F * h_EB_ecaliso
TH1F * h_EB_hcaliso
TH1F * h_EB_HoE
TH1F * h_EB_sIetaIeta
TH1F * h_EB_trkiso
TH1F * h_EE_deta
TH1F * h_EE_dphi
TH1F * h_EE_ecaliso
TH1F * h_EE_hcaliso
TH1F * h_EE_HoE
TH1F * h_EE_sIetaIeta
TH1F * h_EE_trkiso
TH1F * h_mee
TH1F * h_mee_EBEB
TH1F * h_mee_EBEE
TH1F * h_mee_EEEE
TH1F * h_trackIso_eb_NmOne
TH1F * h_trackIso_ee_NmOne
TH1F * h_Zcand_PT
TH1F * h_Zcand_Y
Double_t hcalIso1_EB_
Bool_t hcalIso1_EB_inv
Double_t hcalIso1_EE_
Bool_t hcalIso1_EE_inv
Double_t hcalIso2_EB_
Bool_t hcalIso2_EB_inv
Double_t hcalIso2_EE_
Bool_t hcalIso2_EE_inv
Double_t hcalIsoUser1_EB_
Bool_t hcalIsoUser1_EB_inv
Double_t hcalIsoUser1_EE_
Bool_t hcalIsoUser1_EE_inv
Double_t hcalIsoUser2_EB_
Bool_t hcalIsoUser2_EB_inv
Double_t hcalIsoUser2_EE_
Bool_t hcalIsoUser2_EE_inv
TFile * histofile
Double_t hoe1_EB_
Bool_t hoe1_EB_inv
Double_t hoe1_EE_
Bool_t hoe1_EE_inv
Double_t hoe2_EB_
Bool_t hoe2_EB_inv
Double_t hoe2_EE_
Bool_t hoe2_EE_inv
Bool_t includeJetInformationInNtuples_
std::vector< Bool_t > InvVars1_
std::vector< Bool_t > InvVars2_
Int_t lumiSection
Bool_t maxNumberOfExpectedMissingHits1_
Bool_t maxNumberOfExpectedMissingHits2_
Int_t nBarrelVars_
std::string outputFile_
Float_t pfjet_et [5]
Float_t pfjet_eta [5]
Float_t pfjet_phi [5]
edm::InputTag pfJetCollectionTag_
Float_t pv_x1
Float_t pv_x2
Float_t pv_y1
Float_t pv_y2
Float_t pv_z1
Float_t pv_z2
Int_t runNumber
Double_t sihih1_EB_
Bool_t sihih1_EB_inv
Double_t sihih1_EE_
Bool_t sihih1_EE_inv
Double_t sihih2_EB_
Bool_t sihih2_EB_inv
Double_t sihih2_EE_
Bool_t sihih2_EE_inv
Double_t tip_bspot1_EB_
Bool_t tip_bspot1_EB_inv
Double_t tip_bspot1_EE_
Bool_t tip_bspot1_EE_inv
Double_t tip_bspot2_EB_
Bool_t tip_bspot2_EB_inv
Double_t tip_bspot2_EE_
Bool_t tip_bspot2_EE_inv
Double_t trackIso1_EB_
Bool_t trackIso1_EB_inv
Double_t trackIso1_EE_
Bool_t trackIso1_EE_inv
Double_t trackIso2_EB_
Bool_t trackIso2_EB_inv
Double_t trackIso2_EE_
Bool_t trackIso2_EE_inv
Double_t trackIsoUser1_EB_
Bool_t trackIsoUser1_EB_inv
Double_t trackIsoUser1_EE_
Bool_t trackIsoUser1_EE_inv
Double_t trackIsoUser2_EB_
Bool_t trackIsoUser2_EB_inv
Double_t trackIsoUser2_EE_
Bool_t trackIsoUser2_EE_inv
Bool_t useConversionRejection1_
Bool_t useConversionRejection2_
Bool_t useExpectedMissingHits1_
Bool_t useExpectedMissingHits2_
Bool_t usePrecalcID1_
Bool_t usePrecalcID2_
std::string usePrecalcIDSign1_
std::string usePrecalcIDSign2_
std::string usePrecalcIDType1_
std::string usePrecalcIDType2_
Double_t usePrecalcIDValue1_
Double_t usePrecalcIDValue2_
Bool_t usePreselection1_
Bool_t usePreselection2_
Bool_t useSameSelectionOnBothElectrons_
Bool_t useValidFirstPXBHit1_
Bool_t useValidFirstPXBHit2_
TTree * vbtfPresele_tree
TTree * vbtfSele_tree
TFile * ZEE_VBTFpreseleFile_
std::string ZEE_VBTFpreseleFileName_
TFile * ZEE_VBTFselectionFile_
std::string ZEE_VBTFselectionFileName_
edm::InputTag zeeCollectionTag_

Detailed Description

Definition at line 53 of file ZeePlots.h.


Constructor & Destructor Documentation

ZeePlots::ZeePlots ( const char *  fileName)

Definition at line 35 of file ZeePlots.cc.

References file_, convertXMLtoSQLite_cfg::fileName, and fileName_.

{

  fileName_ = fileName;
  file_ = new TFile(fileName_, "RECREATE");
}
ZeePlots::~ZeePlots ( )

Definition at line 43 of file ZeePlots.cc.

References file_.

{
  
  file_->Close();
  
  delete file_;

}
ZeePlots::ZeePlots ( const edm::ParameterSet iConfig) [explicit]

Definition at line 34 of file ZeePlots.cc.

References caloJetCollectionTag_, cIso1_EB_, cIso1_EB_inv, cIso1_EE_, cIso1_EE_inv, cIso2_EB_, cIso2_EB_inv, cIso2_EE_, cIso2_EE_inv, gather_cfg::cout, DatasetTag_, deta1_EB_, deta1_EB_inv, deta1_EE_, deta1_EE_inv, deta2_EB_, deta2_EB_inv, deta2_EE_, deta2_EE_inv, dphi1_EB_, dphi1_EB_inv, dphi1_EE_, dphi1_EE_inv, dphi2_EB_, dphi2_EB_inv, dphi2_EE_, dphi2_EE_inv, DRJetFromElectron_, ecalIso1_EB_, ecalIso1_EB_inv, ecalIso1_EE_, ecalIso1_EE_inv, ecalIso2_EB_, ecalIso2_EB_inv, ecalIso2_EE_, ecalIso2_EE_inv, ecalIsoUser1_EB_, ecalIsoUser1_EB_inv, ecalIsoUser1_EE_, ecalIsoUser1_EE_inv, ecalIsoUser2_EB_, ecalIsoUser2_EB_inv, ecalIsoUser2_EE_, ecalIsoUser2_EE_inv, eop1_EB_, eop1_EB_inv, eop1_EE_, eop1_EE_inv, eop2_EB_, eop2_EB_inv, eop2_EE_, eop2_EE_inv, edm::ParameterSet::getUntrackedParameter(), hcalIso1_EB_, hcalIso1_EB_inv, hcalIso1_EE_, hcalIso1_EE_inv, hcalIso2_EB_, hcalIso2_EB_inv, hcalIso2_EE_, hcalIso2_EE_inv, hcalIsoUser1_EB_, hcalIsoUser1_EB_inv, hcalIsoUser1_EE_, hcalIsoUser1_EE_inv, hcalIsoUser2_EB_, hcalIsoUser2_EB_inv, hcalIsoUser2_EE_, hcalIsoUser2_EE_inv, hoe1_EB_, hoe1_EB_inv, hoe1_EE_, hoe1_EE_inv, hoe2_EB_, hoe2_EB_inv, hoe2_EE_, hoe2_EE_inv, includeJetInformationInNtuples_, maxNumberOfExpectedMissingHits1_, maxNumberOfExpectedMissingHits2_, outputFile_, pfJetCollectionTag_, sihih1_EB_, sihih1_EB_inv, sihih1_EE_, sihih1_EE_inv, sihih2_EB_, sihih2_EB_inv, sihih2_EE_, sihih2_EE_inv, tip_bspot1_EB_, tip_bspot1_EB_inv, tip_bspot1_EE_, tip_bspot1_EE_inv, tip_bspot2_EB_, tip_bspot2_EB_inv, tip_bspot2_EE_, tip_bspot2_EE_inv, trackIso1_EB_, trackIso1_EB_inv, trackIso1_EE_, trackIso1_EE_inv, trackIso2_EB_, trackIso2_EB_inv, trackIso2_EE_, trackIso2_EE_inv, trackIsoUser1_EB_, trackIsoUser1_EB_inv, trackIsoUser1_EE_, trackIsoUser1_EE_inv, trackIsoUser2_EB_, trackIsoUser2_EB_inv, trackIsoUser2_EE_, trackIsoUser2_EE_inv, useConversionRejection1_, useConversionRejection2_, useExpectedMissingHits1_, useExpectedMissingHits2_, usePrecalcID1_, usePrecalcID2_, usePrecalcIDSign1_, usePrecalcIDSign2_, usePrecalcIDType1_, usePrecalcIDType2_, usePrecalcIDValue1_, usePrecalcIDValue2_, usePreselection1_, usePreselection2_, useSameSelectionOnBothElectrons_, useValidFirstPXBHit1_, useValidFirstPXBHit2_, ZEE_VBTFpreseleFileName_, ZEE_VBTFselectionFileName_, and zeeCollectionTag_.

{

//                   I N P U T      P A R A M E T E R S
//  ZEE COLLECTION   //////////////////////////////////////////////////////
//

    zeeCollectionTag_ = iConfig.getUntrackedParameter<edm::InputTag>("zeeCollectionTag");

    // code parameters
    //
    std::string outputFile_D = "histos.root";
    outputFile_ = iConfig.getUntrackedParameter<std::string>("outputFile", outputFile_D);

    ZEE_VBTFselectionFileName_ = iConfig.getUntrackedParameter<std::string>("ZEE_VBTFselectionFileName");
    ZEE_VBTFpreseleFileName_   = iConfig.getUntrackedParameter<std::string>("ZEE_VBTFpreseleFileName");

    DatasetTag_ = iConfig.getUntrackedParameter<Int_t>("DatasetTag");

    useSameSelectionOnBothElectrons_ = iConfig.getUntrackedParameter<Bool_t>("useSameSelectionOnBothElectrons",false);

    //  Here choose if the two legs will be treated individually or not.
    //
    if ( useSameSelectionOnBothElectrons_ ) {

        // use of precalculatedID. if you use it, then no other cuts are applied

        /*  Electron 1  */
        usePrecalcID1_ = iConfig.getUntrackedParameter<Bool_t>("usePrecalcID0",false);

        if ( usePrecalcID1_ ) {

            usePrecalcIDType1_ = iConfig.getUntrackedParameter<std::string>("usePrecalcIDType0");
            usePrecalcIDSign1_ = iConfig.getUntrackedParameter<std::string>("usePrecalcIDSign0","=");
            usePrecalcIDValue1_= iConfig.getUntrackedParameter<Double_t>("usePrecalcIDValue0");

            std::cout << "ZeePlots: WARNING: you have chosen to use CMSSW precalculated ID for electron #1 with name: >>> " << usePrecalcIDType1_<< " <<< such that the value map " << usePrecalcIDSign1_ << " "<< usePrecalcIDValue1_ << std::endl;
        }

        /*  Electron 2  */
        usePrecalcID2_ = iConfig.getUntrackedParameter<Bool_t>("usePrecalcID0",false);

        if ( usePrecalcID2_ ) {

            usePrecalcIDType2_ = iConfig.getUntrackedParameter<std::string>("usePrecalcIDType0");
            usePrecalcIDSign2_ = iConfig.getUntrackedParameter<std::string>("usePrecalcIDSign0","=");
            usePrecalcIDValue2_= iConfig.getUntrackedParameter<Double_t>("usePrecalcIDValue0");

            std::cout << "ZeePlots: WARNING: you have chosen to use CMSSW precalculated ID for electron #2 with name: >>> " << usePrecalcIDType2_<< " <<< such that the value map " << usePrecalcIDSign2_ << " "<< usePrecalcIDValue2_ << std::endl;
        }

        // use of preselection
        //
        useValidFirstPXBHit1_            = iConfig.getUntrackedParameter<Bool_t>("useValidFirstPXBHit0",false);
        useValidFirstPXBHit2_            = iConfig.getUntrackedParameter<Bool_t>("useValidFirstPXBHit0",false);

        useConversionRejection1_         = iConfig.getUntrackedParameter<Bool_t>("useConversionRejection0",false);
        useConversionRejection2_         = iConfig.getUntrackedParameter<Bool_t>("useConversionRejection0",false);

        useExpectedMissingHits1_         = iConfig.getUntrackedParameter<Bool_t>("useExpectedMissingHits0",false);
        useExpectedMissingHits2_         = iConfig.getUntrackedParameter<Bool_t>("useExpectedMissingHits0",false);

        maxNumberOfExpectedMissingHits1_  = iConfig.getUntrackedParameter<Int_t>("maxNumberOfExpectedMissingHits0",1);
        maxNumberOfExpectedMissingHits2_ = iConfig.getUntrackedParameter<Int_t>("maxNumberOfExpectedMissingHits0",1);


        // Selection Cuts:
        //
        
             /*  Electron 1  */
                trackIso1_EB_         =  iConfig.getUntrackedParameter<Double_t>("trackIso0_EB",1000.0);       trackIso1_EE_         =  iConfig.getUntrackedParameter<Double_t>("trackIso0_EE",1000.0);
                ecalIso1_EB_          =  iConfig.getUntrackedParameter<Double_t>("ecalIso0_EB",1000.0);        ecalIso1_EE_          =  iConfig.getUntrackedParameter<Double_t>("ecalIso0_EE",1000.0);
                hcalIso1_EB_          =  iConfig.getUntrackedParameter<Double_t>("hcalIso0_EB",1000.0);        hcalIso1_EE_          =  iConfig.getUntrackedParameter<Double_t>("hcalIso0_EE",1000.0);
         
                sihih1_EB_            =  iConfig.getUntrackedParameter<Double_t>("sihih0_EB");                 sihih1_EE_            =  iConfig.getUntrackedParameter<Double_t>("sihih0_EE");
                dphi1_EB_             =  iConfig.getUntrackedParameter<Double_t>("dphi0_EB");                  dphi1_EE_             =  iConfig.getUntrackedParameter<Double_t>("dphi0_EE");
                deta1_EB_             =  iConfig.getUntrackedParameter<Double_t>("deta0_EB");                  deta1_EE_             =  iConfig.getUntrackedParameter<Double_t>("deta0_EE");
                hoe1_EB_              =  iConfig.getUntrackedParameter<Double_t>("hoe0_EB");                   hoe1_EE_              =  iConfig.getUntrackedParameter<Double_t>("hoe0_EE");
                cIso1_EB_             =  iConfig.getUntrackedParameter<Double_t>("cIso0_EB",1000.0);           cIso1_EE_             =  iConfig.getUntrackedParameter<Double_t>("cIso0_EE",1000.0);
                tip_bspot1_EB_        =  iConfig.getUntrackedParameter<Double_t>("tip_bspot0_EB",1000.0);      tip_bspot1_EE_        =  iConfig.getUntrackedParameter<Double_t>("tip_bspot0_EE",1000.0);
                eop1_EB_              =  iConfig.getUntrackedParameter<Double_t>("eop0_EB",1000.0);            eop1_EE_              =  iConfig.getUntrackedParameter<Double_t>("eop0_EE",1000.0);
         
                trackIsoUser1_EB_     =  iConfig.getUntrackedParameter<Double_t>("trackIsoUser0_EB",1000.0);   trackIsoUser1_EE_     =  iConfig.getUntrackedParameter<Double_t>("trackIsoUser0_EE",1000.0);
                ecalIsoUser1_EB_      =  iConfig.getUntrackedParameter<Double_t>("ecalIsoUser0_EB",1000.0);    ecalIsoUser1_EE_      =  iConfig.getUntrackedParameter<Double_t>("ecalIsoUser0_EE",1000.0);
                hcalIsoUser1_EB_      =  iConfig.getUntrackedParameter<Double_t>("hcalIsoUser0_EB",1000.0);    hcalIsoUser1_EE_      =  iConfig.getUntrackedParameter<Double_t>("hcalIsoUser0_EE",1000.0);
         
             //  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
             
                trackIso1_EB_inv      =  iConfig.getUntrackedParameter<Bool_t>("trackIso0_EB_inv",false);      trackIso1_EE_inv      =  iConfig.getUntrackedParameter<Bool_t>("trackIso0_EE_inv",false);
                ecalIso1_EB_inv       =  iConfig.getUntrackedParameter<Bool_t>("ecalIso0_EB_inv",false);       ecalIso1_EE_inv       =  iConfig.getUntrackedParameter<Bool_t>("ecalIso0_EE_inv",false);
                hcalIso1_EB_inv       =  iConfig.getUntrackedParameter<Bool_t>("hcalIso0_EB_inv",false);       hcalIso1_EE_inv       =  iConfig.getUntrackedParameter<Bool_t>("hcalIso0_EE_inv",false);
         
                sihih1_EB_inv         =  iConfig.getUntrackedParameter<Bool_t>("sihih0_EB_inv",false);         sihih1_EE_inv         =  iConfig.getUntrackedParameter<Bool_t>("sihih0_EE_inv",false);
                dphi1_EB_inv          =  iConfig.getUntrackedParameter<Bool_t>("dphi0_EB_inv",false);          dphi1_EE_inv          =  iConfig.getUntrackedParameter<Bool_t>("dphi0_EE_inv",false);
                deta1_EB_inv          =  iConfig.getUntrackedParameter<Bool_t>("deta0_EB_inv",false);          deta1_EE_inv          =  iConfig.getUntrackedParameter<Bool_t>("deta0_EE_inv",false);
                hoe1_EB_inv           =  iConfig.getUntrackedParameter<Bool_t>("hoe0_EB_inv",false);           hoe1_EE_inv           =  iConfig.getUntrackedParameter<Bool_t>("hoe0_EE_inv",false);
                cIso1_EB_inv          =  iConfig.getUntrackedParameter<Bool_t>("cIso0_EB_inv",false);          cIso1_EE_inv          =  iConfig.getUntrackedParameter<Bool_t>("cIso0_EE_inv",false);
                tip_bspot1_EB_inv     =  iConfig.getUntrackedParameter<Bool_t>("tip_bspot0_EB_inv",false);     tip_bspot1_EE_inv     =  iConfig.getUntrackedParameter<Bool_t>("tip_bspot0_EE_inv",false);
                eop1_EB_inv           =  iConfig.getUntrackedParameter<Bool_t>("eop0_EB_inv",false);           eop1_EE_inv           =  iConfig.getUntrackedParameter<Bool_t>("eop0_EE_inv",false);
         
                trackIsoUser1_EB_inv  =  iConfig.getUntrackedParameter<Bool_t>("trackIsoUser0_EB_inv",false);  trackIsoUser1_EE_inv  =  iConfig.getUntrackedParameter<Bool_t>("trackIsoUser0_EE_inv",false);
                ecalIsoUser1_EB_inv   =  iConfig.getUntrackedParameter<Bool_t>("ecalIsoUser0_EB_inv",false);   ecalIsoUser1_EE_inv   =  iConfig.getUntrackedParameter<Bool_t>("ecalIsoUser0_EE_inv",false);
                hcalIsoUser1_EB_inv   =  iConfig.getUntrackedParameter<Bool_t>("hcalIsoUser0_EB_inv",false);   hcalIsoUser1_EE_inv   =  iConfig.getUntrackedParameter<Bool_t>("hcalIsoUser0_EE_inv",false);
         
             /*  Electron 2  */
                trackIso2_EB_         =  iConfig.getUntrackedParameter<Double_t>("trackIso0_EB",1000.0);       trackIso2_EE_         =  iConfig.getUntrackedParameter<Double_t>("trackIso0_EE",1000.0);
                ecalIso2_EB_          =  iConfig.getUntrackedParameter<Double_t>("ecalIso0_EB",1000.0);        ecalIso2_EE_          =  iConfig.getUntrackedParameter<Double_t>("ecalIso0_EE",1000.0);
                hcalIso2_EB_          =  iConfig.getUntrackedParameter<Double_t>("hcalIso0_EB",1000.0);        hcalIso2_EE_          =  iConfig.getUntrackedParameter<Double_t>("hcalIso0_EE",1000.0);
         
                sihih2_EB_            =  iConfig.getUntrackedParameter<Double_t>("sihih0_EB");                 sihih2_EE_            =  iConfig.getUntrackedParameter<Double_t>("sihih0_EE");
                dphi2_EB_             =  iConfig.getUntrackedParameter<Double_t>("dphi0_EB");                  dphi2_EE_             =  iConfig.getUntrackedParameter<Double_t>("dphi0_EE");
                deta2_EB_             =  iConfig.getUntrackedParameter<Double_t>("deta0_EB");                  deta2_EE_             =  iConfig.getUntrackedParameter<Double_t>("deta0_EE");
                hoe2_EB_              =  iConfig.getUntrackedParameter<Double_t>("hoe0_EB");                   hoe2_EE_              =  iConfig.getUntrackedParameter<Double_t>("hoe0_EE");
                cIso2_EB_             =  iConfig.getUntrackedParameter<Double_t>("cIso0_EB",1000.0);           cIso2_EE_             =  iConfig.getUntrackedParameter<Double_t>("cIso0_EE",1000.0);
                tip_bspot2_EB_        =  iConfig.getUntrackedParameter<Double_t>("tip_bspot0_EB",1000.0);      tip_bspot2_EE_        =  iConfig.getUntrackedParameter<Double_t>("tip_bspot0_EE",1000.0);
                eop2_EB_              =  iConfig.getUntrackedParameter<Double_t>("eop0_EB",1000.0);            eop2_EE_              =  iConfig.getUntrackedParameter<Double_t>("eop0_EE",1000.0);
         
                trackIsoUser2_EB_     =  iConfig.getUntrackedParameter<Double_t>("trackIsoUser0_EB",1000.0);   trackIsoUser2_EE_     =  iConfig.getUntrackedParameter<Double_t>("trackIsoUser0_EE",1000.0);
                ecalIsoUser2_EB_      =  iConfig.getUntrackedParameter<Double_t>("ecalIsoUser0_EB",1000.0);    ecalIsoUser2_EE_      =  iConfig.getUntrackedParameter<Double_t>("ecalIsoUser0_EE",1000.0);
                hcalIsoUser2_EB_      =  iConfig.getUntrackedParameter<Double_t>("hcalIsoUser0_EB",1000.0);    hcalIsoUser2_EE_      =  iConfig.getUntrackedParameter<Double_t>("hcalIsoUser0_EE",1000.0);
         
             //  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
             
                trackIso2_EB_inv      =  iConfig.getUntrackedParameter<Bool_t>("trackIso0_EB_inv",false);      trackIso2_EE_inv      =  iConfig.getUntrackedParameter<Bool_t>("trackIso0_EE_inv",false);
                ecalIso2_EB_inv       =  iConfig.getUntrackedParameter<Bool_t>("ecalIso0_EB_inv",false);       ecalIso2_EE_inv       =  iConfig.getUntrackedParameter<Bool_t>("ecalIso0_EE_inv",false);
                hcalIso2_EB_inv       =  iConfig.getUntrackedParameter<Bool_t>("hcalIso0_EB_inv",false);       hcalIso2_EE_inv       =  iConfig.getUntrackedParameter<Bool_t>("hcalIso0_EE_inv",false);
         
                sihih2_EB_inv         =  iConfig.getUntrackedParameter<Bool_t>("sihih0_EB_inv",false);         sihih2_EE_inv         =  iConfig.getUntrackedParameter<Bool_t>("sihih0_EE_inv",false);
                dphi2_EB_inv          =  iConfig.getUntrackedParameter<Bool_t>("dphi0_EB_inv",false);          dphi2_EE_inv          =  iConfig.getUntrackedParameter<Bool_t>("dphi0_EE_inv",false);
                deta2_EB_inv          =  iConfig.getUntrackedParameter<Bool_t>("deta0_EB_inv",false);          deta2_EE_inv          =  iConfig.getUntrackedParameter<Bool_t>("deta0_EE_inv",false);
                hoe2_EB_inv           =  iConfig.getUntrackedParameter<Bool_t>("hoe0_EB_inv",false);           hoe2_EE_inv           =  iConfig.getUntrackedParameter<Bool_t>("hoe0_EE_inv",false);
                cIso2_EB_inv          =  iConfig.getUntrackedParameter<Bool_t>("cIso0_EB_inv",false);          cIso2_EE_inv          =  iConfig.getUntrackedParameter<Bool_t>("cIso0_EE_inv",false);
                tip_bspot2_EB_inv     =  iConfig.getUntrackedParameter<Bool_t>("tip_bspot0_EB_inv",false);     tip_bspot2_EE_inv     =  iConfig.getUntrackedParameter<Bool_t>("tip_bspot0_EE_inv",false);
                eop2_EB_inv           =  iConfig.getUntrackedParameter<Bool_t>("eop0_EB_inv",false);           eop2_EE_inv           =  iConfig.getUntrackedParameter<Bool_t>("eop0_EE_inv",false);
         
                trackIsoUser2_EB_inv  =  iConfig.getUntrackedParameter<Bool_t>("trackIsoUser0_EB_inv",false);  trackIsoUser2_EE_inv  =  iConfig.getUntrackedParameter<Bool_t>("trackIsoUser0_EE_inv",false);
                ecalIsoUser2_EB_inv   =  iConfig.getUntrackedParameter<Bool_t>("ecalIsoUser0_EB_inv",false);   ecalIsoUser2_EE_inv   =  iConfig.getUntrackedParameter<Bool_t>("ecalIsoUser0_EE_inv",false);
                hcalIsoUser2_EB_inv   =  iConfig.getUntrackedParameter<Bool_t>("hcalIsoUser0_EB_inv",false);   hcalIsoUser2_EE_inv   =  iConfig.getUntrackedParameter<Bool_t>("hcalIsoUser0_EE_inv",false);

    }
    else {

        // use of precalculatedID. if you use it, then no other cuts are applied

        /*  Electron 1  */
        usePrecalcID1_ = iConfig.getUntrackedParameter<Bool_t>("usePrecalcID1",false);

        if ( usePrecalcID1_ ) {

            usePrecalcIDType1_ = iConfig.getUntrackedParameter<std::string>("usePrecalcIDType1");
            usePrecalcIDSign1_ = iConfig.getUntrackedParameter<std::string>("usePrecalcIDSign1","=");
            usePrecalcIDValue1_= iConfig.getUntrackedParameter<Double_t>("usePrecalcIDValue1");

            std::cout << "ZeePlots: WARNING: you have chosen to use CMSSW precalculated ID for electron #1 with name: >>> " << usePrecalcIDType1_<< " <<< such that the value map " << usePrecalcIDSign1_ << " "<< usePrecalcIDValue1_ << std::endl;
        }

        /*  Electron 2  */
        usePrecalcID2_ = iConfig.getUntrackedParameter<Bool_t>("usePrecalcID2",false);

        if ( usePrecalcID2_ ) {

            usePrecalcIDType2_ = iConfig.getUntrackedParameter<std::string>("usePrecalcIDType2");
            usePrecalcIDSign2_ = iConfig.getUntrackedParameter<std::string>("usePrecalcIDSign2","=");
            usePrecalcIDValue2_= iConfig.getUntrackedParameter<Double_t>("usePrecalcIDValue2");

            std::cout << "ZeePlots: WARNING: you have chosen to use CMSSW precalculated ID for electron #2 with name: >>> " << usePrecalcIDType2_<< " <<< such that the value map " << usePrecalcIDSign2_ << " "<< usePrecalcIDValue2_ << std::endl;
        }

        // use of preselection
        //
        useValidFirstPXBHit1_            = iConfig.getUntrackedParameter<Bool_t>("useValidFirstPXBHit1",false);
        useValidFirstPXBHit2_            = iConfig.getUntrackedParameter<Bool_t>("useValidFirstPXBHit2",false);

        useConversionRejection1_         = iConfig.getUntrackedParameter<Bool_t>("useConversionRejection1",false);
        useConversionRejection2_         = iConfig.getUntrackedParameter<Bool_t>("useConversionRejection2",false);

        useExpectedMissingHits1_         = iConfig.getUntrackedParameter<Bool_t>("useExpectedMissingHits1",false);
        useExpectedMissingHits2_         = iConfig.getUntrackedParameter<Bool_t>("useExpectedMissingHits2",false);

        maxNumberOfExpectedMissingHits1_  = iConfig.getUntrackedParameter<Int_t>("maxNumberOfExpectedMissingHits1",1);
        maxNumberOfExpectedMissingHits2_ = iConfig.getUntrackedParameter<Int_t>("maxNumberOfExpectedMissingHits2",1);


        // Selection Cuts:
        //
        
             /*  Electron 1  */
                trackIso1_EB_         =  iConfig.getUntrackedParameter<Double_t>("trackIso1_EB",1000.0);       trackIso1_EE_         =  iConfig.getUntrackedParameter<Double_t>("trackIso1_EE",1000.0);
                ecalIso1_EB_          =  iConfig.getUntrackedParameter<Double_t>("ecalIso1_EB",1000.0);        ecalIso1_EE_          =  iConfig.getUntrackedParameter<Double_t>("ecalIso1_EE",1000.0);
                hcalIso1_EB_          =  iConfig.getUntrackedParameter<Double_t>("hcalIso1_EB",1000.0);        hcalIso1_EE_          =  iConfig.getUntrackedParameter<Double_t>("hcalIso1_EE",1000.0);
         
                sihih1_EB_            =  iConfig.getUntrackedParameter<Double_t>("sihih1_EB");                 sihih1_EE_            =  iConfig.getUntrackedParameter<Double_t>("sihih1_EE");
                dphi1_EB_             =  iConfig.getUntrackedParameter<Double_t>("dphi1_EB");                  dphi1_EE_             =  iConfig.getUntrackedParameter<Double_t>("dphi1_EE");
                deta1_EB_             =  iConfig.getUntrackedParameter<Double_t>("deta1_EB");                  deta1_EE_             =  iConfig.getUntrackedParameter<Double_t>("deta1_EE");
                hoe1_EB_              =  iConfig.getUntrackedParameter<Double_t>("hoe1_EB");                   hoe1_EE_              =  iConfig.getUntrackedParameter<Double_t>("hoe1_EE");
                cIso1_EB_             =  iConfig.getUntrackedParameter<Double_t>("cIso1_EB",1000.0);           cIso1_EE_             =  iConfig.getUntrackedParameter<Double_t>("cIso1_EE",1000.0);
                tip_bspot1_EB_        =  iConfig.getUntrackedParameter<Double_t>("tip_bspot1_EB",1000.0);      tip_bspot1_EE_        =  iConfig.getUntrackedParameter<Double_t>("tip_bspot1_EE",1000.0);
                eop1_EB_              =  iConfig.getUntrackedParameter<Double_t>("eop1_EB",1000.0);            eop1_EE_              =  iConfig.getUntrackedParameter<Double_t>("eop1_EE",1000.0);
         
                trackIsoUser1_EB_     =  iConfig.getUntrackedParameter<Double_t>("trackIsoUser1_EB",1000.0);   trackIsoUser1_EE_     =  iConfig.getUntrackedParameter<Double_t>("trackIsoUser1_EE",1000.0);
                ecalIsoUser1_EB_      =  iConfig.getUntrackedParameter<Double_t>("ecalIsoUser1_EB",1000.0);    ecalIsoUser1_EE_      =  iConfig.getUntrackedParameter<Double_t>("ecalIsoUser1_EE",1000.0);
                hcalIsoUser1_EB_      =  iConfig.getUntrackedParameter<Double_t>("hcalIsoUser1_EB",1000.0);    hcalIsoUser1_EE_      =  iConfig.getUntrackedParameter<Double_t>("hcalIsoUser1_EE",1000.0);       
        //  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------         
                trackIso1_EB_inv      =  iConfig.getUntrackedParameter<Bool_t>("trackIso1_EB_inv",false);      trackIso1_EE_inv      =  iConfig.getUntrackedParameter<Bool_t>("trackIso1_EE_inv",false);
                ecalIso1_EB_inv       =  iConfig.getUntrackedParameter<Bool_t>("ecalIso1_EB_inv",false);       ecalIso1_EE_inv       =  iConfig.getUntrackedParameter<Bool_t>("ecalIso1_EE_inv",false);
                hcalIso1_EB_inv       =  iConfig.getUntrackedParameter<Bool_t>("hcalIso1_EB_inv",false);       hcalIso1_EE_inv       =  iConfig.getUntrackedParameter<Bool_t>("hcalIso1_EE_inv",false);
         
                sihih1_EB_inv         =  iConfig.getUntrackedParameter<Bool_t>("sihih1_EB_inv",false);         sihih1_EE_inv         =  iConfig.getUntrackedParameter<Bool_t>("sihih1_EE_inv",false);
                dphi1_EB_inv          =  iConfig.getUntrackedParameter<Bool_t>("dphi1_EB_inv",false);          dphi1_EE_inv          =  iConfig.getUntrackedParameter<Bool_t>("dphi1_EE_inv",false);
                deta1_EB_inv          =  iConfig.getUntrackedParameter<Bool_t>("deta1_EB_inv",false);          deta1_EE_inv          =  iConfig.getUntrackedParameter<Bool_t>("deta1_EE_inv",false);
                hoe1_EB_inv           =  iConfig.getUntrackedParameter<Bool_t>("hoe1_EB_inv",false);           hoe1_EE_inv           =  iConfig.getUntrackedParameter<Bool_t>("hoe1_EE_inv",false);
                cIso1_EB_inv          =  iConfig.getUntrackedParameter<Bool_t>("cIso1_EB_inv",false);          cIso1_EE_inv          =  iConfig.getUntrackedParameter<Bool_t>("cIso1_EE_inv",false);
                tip_bspot1_EB_inv     =  iConfig.getUntrackedParameter<Bool_t>("tip_bspot1_EB_inv",false);     tip_bspot1_EE_inv     =  iConfig.getUntrackedParameter<Bool_t>("tip_bspot1_EE_inv",false);
                eop1_EB_inv           =  iConfig.getUntrackedParameter<Bool_t>("eop1_EB_inv",false);           eop1_EE_inv           =  iConfig.getUntrackedParameter<Bool_t>("eop1_EE_inv",false);
         
                trackIsoUser1_EB_inv  =  iConfig.getUntrackedParameter<Bool_t>("trackIsoUser1_EB_inv",false);  trackIsoUser1_EE_inv  =  iConfig.getUntrackedParameter<Bool_t>("trackIsoUser1_EE_inv",false);
                ecalIsoUser1_EB_inv   =  iConfig.getUntrackedParameter<Bool_t>("ecalIsoUser1_EB_inv",false);   ecalIsoUser1_EE_inv   =  iConfig.getUntrackedParameter<Bool_t>("ecalIsoUser1_EE_inv",false);
                hcalIsoUser1_EB_inv   =  iConfig.getUntrackedParameter<Bool_t>("hcalIsoUser1_EB_inv",false);   hcalIsoUser1_EE_inv   =  iConfig.getUntrackedParameter<Bool_t>("hcalIsoUser1_EE_inv",false);
         
             /*  Electron 2  */
                trackIso2_EB_         =  iConfig.getUntrackedParameter<Double_t>("trackIso2_EB",1000.0);       trackIso2_EE_         =  iConfig.getUntrackedParameter<Double_t>("trackIso2_EE",1000.0);
                ecalIso2_EB_          =  iConfig.getUntrackedParameter<Double_t>("ecalIso2_EB",1000.0);        ecalIso2_EE_          =  iConfig.getUntrackedParameter<Double_t>("ecalIso2_EE",1000.0);
                hcalIso2_EB_          =  iConfig.getUntrackedParameter<Double_t>("hcalIso2_EB",1000.0);        hcalIso2_EE_          =  iConfig.getUntrackedParameter<Double_t>("hcalIso2_EE",1000.0);
         
                sihih2_EB_            =  iConfig.getUntrackedParameter<Double_t>("sihih2_EB");                 sihih2_EE_            =  iConfig.getUntrackedParameter<Double_t>("sihih2_EE");
                dphi2_EB_             =  iConfig.getUntrackedParameter<Double_t>("dphi2_EB");                  dphi2_EE_             =  iConfig.getUntrackedParameter<Double_t>("dphi2_EE");
                deta2_EB_             =  iConfig.getUntrackedParameter<Double_t>("deta2_EB");                  deta2_EE_             =  iConfig.getUntrackedParameter<Double_t>("deta2_EE");
                hoe2_EB_              =  iConfig.getUntrackedParameter<Double_t>("hoe2_EB");                   hoe2_EE_              =  iConfig.getUntrackedParameter<Double_t>("hoe2_EE");
                cIso2_EB_             =  iConfig.getUntrackedParameter<Double_t>("cIso2_EB",1000.0);           cIso2_EE_             =  iConfig.getUntrackedParameter<Double_t>("cIso2_EE",1000.0);
                tip_bspot2_EB_        =  iConfig.getUntrackedParameter<Double_t>("tip_bspot2_EB",1000.0);      tip_bspot2_EE_        =  iConfig.getUntrackedParameter<Double_t>("tip_bspot2_EE",1000.0);
                eop2_EB_              =  iConfig.getUntrackedParameter<Double_t>("eop2_EB",1000.0);            eop2_EE_              =  iConfig.getUntrackedParameter<Double_t>("eop2_EE",1000.0);
         
                trackIsoUser2_EB_     =  iConfig.getUntrackedParameter<Double_t>("trackIsoUser2_EB",1000.0);   trackIsoUser2_EE_     =  iConfig.getUntrackedParameter<Double_t>("trackIsoUser2_EE",1000.0);
                ecalIsoUser2_EB_      =  iConfig.getUntrackedParameter<Double_t>("ecalIsoUser2_EB",1000.0);    ecalIsoUser2_EE_      =  iConfig.getUntrackedParameter<Double_t>("ecalIsoUser2_EE",1000.0);
                hcalIsoUser2_EB_      =  iConfig.getUntrackedParameter<Double_t>("hcalIsoUser2_EB",1000.0);    hcalIsoUser2_EE_      =  iConfig.getUntrackedParameter<Double_t>("hcalIsoUser2_EE",1000.0);       
        //  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------         
                trackIso2_EB_inv      =  iConfig.getUntrackedParameter<Bool_t>("trackIso2_EB_inv",false);      trackIso2_EE_inv      =  iConfig.getUntrackedParameter<Bool_t>("trackIso2_EE_inv",false);
                ecalIso2_EB_inv       =  iConfig.getUntrackedParameter<Bool_t>("ecalIso2_EB_inv",false);       ecalIso2_EE_inv       =  iConfig.getUntrackedParameter<Bool_t>("ecalIso2_EE_inv",false);
                hcalIso2_EB_inv       =  iConfig.getUntrackedParameter<Bool_t>("hcalIso2_EB_inv",false);       hcalIso2_EE_inv       =  iConfig.getUntrackedParameter<Bool_t>("hcalIso2_EE_inv",false);
         
                sihih2_EB_inv         =  iConfig.getUntrackedParameter<Bool_t>("sihih2_EB_inv",false);         sihih2_EE_inv         =  iConfig.getUntrackedParameter<Bool_t>("sihih2_EE_inv",false);
                dphi2_EB_inv          =  iConfig.getUntrackedParameter<Bool_t>("dphi2_EB_inv",false);          dphi2_EE_inv          =  iConfig.getUntrackedParameter<Bool_t>("dphi2_EE_inv",false);
                deta2_EB_inv          =  iConfig.getUntrackedParameter<Bool_t>("deta2_EB_inv",false);          deta2_EE_inv          =  iConfig.getUntrackedParameter<Bool_t>("deta2_EE_inv",false);
                hoe2_EB_inv           =  iConfig.getUntrackedParameter<Bool_t>("hoe2_EB_inv",false);           hoe2_EE_inv           =  iConfig.getUntrackedParameter<Bool_t>("hoe2_EE_inv",false);
                cIso2_EB_inv          =  iConfig.getUntrackedParameter<Bool_t>("cIso2_EB_inv",false);          cIso2_EE_inv          =  iConfig.getUntrackedParameter<Bool_t>("cIso2_EE_inv",false);
                tip_bspot2_EB_inv     =  iConfig.getUntrackedParameter<Bool_t>("tip_bspot2_EB_inv",false);     tip_bspot2_EE_inv     =  iConfig.getUntrackedParameter<Bool_t>("tip_bspot2_EE_inv",false);
                eop2_EB_inv           =  iConfig.getUntrackedParameter<Bool_t>("eop2_EB_inv",false);           eop2_EE_inv           =  iConfig.getUntrackedParameter<Bool_t>("eop2_EE_inv",false);
         
                trackIsoUser2_EB_inv  =  iConfig.getUntrackedParameter<Bool_t>("trackIsoUser2_EB_inv",false);  trackIsoUser2_EE_inv  =  iConfig.getUntrackedParameter<Bool_t>("trackIsoUser2_EE_inv",false);
                ecalIsoUser2_EB_inv   =  iConfig.getUntrackedParameter<Bool_t>("ecalIsoUser2_EB_inv",false);   ecalIsoUser2_EE_inv   =  iConfig.getUntrackedParameter<Bool_t>("ecalIsoUser2_EE_inv",false);
                hcalIsoUser2_EB_inv   =  iConfig.getUntrackedParameter<Bool_t>("hcalIsoUser2_EB_inv",false);   hcalIsoUser2_EE_inv   =  iConfig.getUntrackedParameter<Bool_t>("hcalIsoUser2_EE_inv",false);

    }

    usePreselection1_ = ( useValidFirstPXBHit1_ || useConversionRejection1_ || useExpectedMissingHits1_ ) ? true : false ;
    usePreselection2_ = ( useValidFirstPXBHit2_ || useConversionRejection2_ || useExpectedMissingHits2_ ) ? true : false ;

    //  Display Massages
    //
    if ( useValidFirstPXBHit1_ )       {
        std::cout << "ZeePlots: Warning: you have demanded ValidFirstPXBHit on 1st electron" << std::endl;
    }
    if ( useValidFirstPXBHit2_ )      {
        std::cout << "ZeePlots: Warning: you have demanded ValidFirstPXBHit on 2nd electron" << std::endl;
    }
    if ( useConversionRejection1_ )    {
        std::cout << "ZeePlots: Warning: you have demanded Conversion Rejection on 1st electron" << std::endl;
    }
    if ( useConversionRejection2_ )   {
        std::cout << "ZeePlots: Warning: you have demanded Conversion Rejection on 2nd electron" << std::endl;
    }
    if ( useExpectedMissingHits1_ )    {
        std::cout << "ZeePlots: Warning: you have demanded Expected Missing Hits on 1st electron no more than " << maxNumberOfExpectedMissingHits1_    << std::endl;
    }
    if ( useExpectedMissingHits2_ )   {
        std::cout << "ZeePlots: Warning: you have demanded Expected Missing Hits on 2nd electron no more than " << maxNumberOfExpectedMissingHits2_    << std::endl;
    }


    //  JETS
    //
    includeJetInformationInNtuples_ = iConfig.getUntrackedParameter<Bool_t>("includeJetInformationInNtuples", false);

    if ( includeJetInformationInNtuples_ ) {

        caloJetCollectionTag_ = iConfig.getUntrackedParameter<edm::InputTag>("caloJetCollectionTag");
        pfJetCollectionTag_   = iConfig.getUntrackedParameter<edm::InputTag>("pfJetCollectionTag");
        DRJetFromElectron_    = iConfig.getUntrackedParameter<Double_t>("DRJetFromElectron");

    }

}
ZeePlots::~ZeePlots ( )

Member Function Documentation

void ZeePlots::analyze ( const edm::Event iEvent,
const edm::EventSetup es 
) [private, virtual]

Implements edm::EDAnalyzer.

Definition at line 343 of file ZeePlots.cc.

References calojet_et, calojet_eta, calojet_phi, caloJetCollectionTag_, CheckCuts1(), CheckCuts2(), gather_cfg::cout, DatasetTag_, deltaR(), DRJetFromElectron_, ele1_cand_et, ele1_cand_eta, ele1_cand_phi, ele1_cr_dcot, ele1_cr_dist, ele1_cr_mhitsinner, ele1_ctfCharge, ele1_eop, ele1_gsfCharge, ele1_id_deta, ele1_id_dphi, ele1_id_hoe, ele1_id_sihih, ele1_iso_ecal, ele1_iso_hcal, ele1_iso_track, ele1_sc_energy, ele1_sc_eta, ele1_sc_gsf_et, ele1_sc_phi, ele1_scPixCharge, ele1_tip_bs, ele1_tip_pv, ele1_vx, ele1_vy, ele1_vz, ele2_cand_et, ele2_cand_eta, ele2_cand_phi, ele2_cr_dcot, ele2_cr_dist, ele2_cr_mhitsinner, ele2_ctfCharge, ele2_eop, ele2_gsfCharge, ele2_id_deta, ele2_id_dphi, ele2_id_hoe, ele2_id_sihih, ele2_iso_ecal, ele2_iso_hcal, ele2_iso_track, ele2_sc_energy, ele2_sc_eta, ele2_sc_gsf_et, ele2_sc_phi, ele2_scPixCharge, ele2_tip_bs, ele2_tip_pv, ele2_vx, ele2_vy, ele2_vz, event_caloMET, event_caloMET_phi, event_datasetTag, event_Mee, event_pfMET, event_pfMET_phi, event_tcMET, event_tcMET_phi, edm::Event::eventAuxiliary(), eventNumber, edm::Event::getByLabel(), h_e_ETA, h_e_PHI, h_e_PT, h_EB_deta, h_EB_dphi, h_EB_ecaliso, h_EB_hcaliso, h_EB_HoE, h_EB_sIetaIeta, h_EB_trkiso, h_EE_deta, h_EE_dphi, h_EE_ecaliso, h_EE_hcaliso, h_EE_HoE, h_EE_sIetaIeta, h_EE_trkiso, h_mee, h_mee_EBEB, h_mee_EBEE, h_mee_EEEE, h_Zcand_PT, h_Zcand_Y, i, includeJetInformationInNtuples_, edm::HandleBase::isValid(), edm::EventBase::luminosityBlock(), lumiSection, PassPreselectionCriteria1(), PassPreselectionCriteria2(), pfjet_et, pfjet_eta, pfjet_phi, pfJetCollectionTag_, pfJets_cff::pfJets, edm::Handle< T >::product(), pv_x1, pv_x2, pv_y1, pv_y2, pv_z1, pv_z2, ReturnCandVar(), edm::Event::run(), runNumber, funct::true, usePreselection1_, usePreselection2_, vbtfPresele_tree, vbtfSele_tree, Gflash::Z, and zeeCollectionTag_.

{
    using namespace std;
    //
    //  Get the collections here
    //
    edm::Handle<pat::CompositeCandidateCollection> ZeeCands;
    iEvent.getByLabel(zeeCollectionTag_, ZeeCands);

    if ( ! ZeeCands.isValid() ) {
        std::cout << "Warning: No valid Zee candidates in this event..." << std::endl;
        return;
    }

    const pat::CompositeCandidateCollection *zcands = ZeeCands.product();
    const pat::CompositeCandidateCollection::const_iterator zeeIter = zcands->begin();
    const pat::CompositeCandidate zee = *zeeIter;

    // get the parts of the composite candidate:
    const pat::Electron * myElec1 = dynamic_cast<const pat::Electron*>( zee.daughter("electron1") );
    const pat::Electron * myElec2 = dynamic_cast<const pat::Electron*>( zee.daughter("electron2") );

    const pat::MET * myMet   = dynamic_cast<const pat::MET*>( zee.daughter("met") );
    const pat::MET * myPfMet = dynamic_cast<const pat::MET*>( zee.daughter("pfmet") );
    const pat::MET * myTcMet = dynamic_cast<const pat::MET*>( zee.daughter("tcmet") );

    // _______________________________________________________________________
    //
    // VBTF Root tuple production --------------------------------------------
    // _______________________________________________________________________
    //
    // .......................................................................
    // vbtf  produces 2 root tuples: one that contains the highest pT electrons
    //  that  passes a  user  defined selection  and one  other  with only the
    //  preselection criteria applied
    // .......................................................................
    //

    // fill the tree variables
    runNumber   = iEvent.run();
    eventNumber = (Long64_t)( iEvent.eventAuxiliary().event() );
    lumiSection = (Int_t)iEvent.luminosityBlock();

    ele1_sc_eta         = (Float_t)( myElec1->superCluster()->eta() );
    ele1_sc_phi         = (Float_t)( myElec1->superCluster()->phi() );
    ele1_sc_energy      = (Float_t)( myElec1->superCluster()->energy() );
    ele1_sc_gsf_et      = (Float_t)( myElec1->superCluster()->energy() / TMath::CosH(myElec1->gsfTrack()->eta()) );
    ele1_cand_eta       = (Float_t)( myElec1->eta() );
    ele1_cand_phi       = (Float_t)( myElec1->phi() );
    ele1_cand_et        = (Float_t)( myElec1->et() );

    ele1_iso_track      = (Float_t)( myElec1->dr03IsolationVariables().tkSumPt / ele1_cand_et );
    ele1_iso_ecal       = (Float_t)( myElec1->dr03IsolationVariables().ecalRecHitSumEt / ele1_cand_et );
    ele1_iso_hcal       = (Float_t)( ( myElec1->dr03IsolationVariables().hcalDepth1TowerSumEt + myElec1->dr03IsolationVariables().hcalDepth2TowerSumEt ) / ele1_cand_et );

    ele1_id_sihih       = (Float_t)( myElec1->sigmaIetaIeta() );
    ele1_id_deta        = (Float_t)( myElec1->deltaEtaSuperClusterTrackAtVtx() );
    ele1_id_dphi        = (Float_t)( myElec1->deltaPhiSuperClusterTrackAtVtx() );
    ele1_id_hoe         = (Float_t)( myElec1->hadronicOverEm() );

    ele1_cr_mhitsinner  = (Float_t)( myElec1->gsfTrack()->trackerExpectedHitsInner().numberOfHits() );
    ele1_cr_dcot        = (Float_t)( myElec1->userFloat("Dcot") );
    ele1_cr_dist        = (Float_t)( myElec1->userFloat("Dist") );

    ele1_vx             = (Float_t)( myElec1->vx() );
    ele1_vy             = (Float_t)( myElec1->vy() );
    ele1_vz             = (Float_t)( myElec1->vz() );

    pv_x1               = (Float_t)( myElec1->userFloat("pv_x") );
    pv_y1               = (Float_t)( myElec1->userFloat("pv_y") );
    pv_z1               = (Float_t)( myElec1->userFloat("pv_z") );

    ele1_gsfCharge      = (Int_t)  ( myElec1->gsfTrack()->charge() );
    ele1_ctfCharge      = (Int_t)  ( myElec1->closestCtfTrackRef().isNonnull() ? ( myElec1->closestCtfTrackRef()->charge() ) : -9999 ) ;
    ele1_scPixCharge    = (Int_t)  ( myElec1->chargeInfo().scPixCharge );
    ele1_eop            = (Float_t)( myElec1->eSuperClusterOverP() );
    ele1_tip_bs         = (Float_t)( (-1.0) * myElec1->dB() );
    ele1_tip_pv         = (Float_t)( myElec1->userFloat("ele_tip_pv") );


    ele2_sc_eta         = (Float_t)( myElec2->superCluster()->eta() );
    ele2_sc_phi         = (Float_t)( myElec2->superCluster()->phi() );
    ele2_sc_energy      = (Float_t)( myElec2->superCluster()->energy() );
    ele2_sc_gsf_et      = (Float_t)( myElec2->superCluster()->energy() / TMath::CosH(myElec2->gsfTrack()->eta()) );
    ele2_cand_eta       = (Float_t)( myElec2->eta() );
    ele2_cand_phi       = (Float_t)( myElec2->phi() );
    ele2_cand_et        = (Float_t)( myElec2->et() );

    ele2_iso_track      = (Float_t)( myElec2->dr03IsolationVariables().tkSumPt / ele2_cand_et );
    ele2_iso_ecal       = (Float_t)( myElec2->dr03IsolationVariables().ecalRecHitSumEt/ele2_cand_et );
    ele2_iso_hcal       = (Float_t)( ( myElec2->dr03IsolationVariables().hcalDepth1TowerSumEt + myElec2->dr03IsolationVariables().hcalDepth2TowerSumEt ) / ele2_cand_et );

    ele2_id_sihih       = (Float_t)( myElec2->sigmaIetaIeta() );
    ele2_id_deta        = (Float_t)( myElec2->deltaEtaSuperClusterTrackAtVtx() );
    ele2_id_dphi        = (Float_t)( myElec2->deltaPhiSuperClusterTrackAtVtx() );
    ele2_id_hoe         = (Float_t)( myElec2->hadronicOverEm() );

    ele2_cr_mhitsinner  = (Float_t)( myElec2->gsfTrack()->trackerExpectedHitsInner().numberOfHits() );
    ele2_cr_dcot        = (Float_t)( myElec2->userFloat("Dcot") );
    ele2_cr_dist        = (Float_t)( myElec2->userFloat("Dist") );

    ele2_vx             = (Float_t)( myElec2->vx() );
    ele2_vy             = (Float_t)( myElec2->vy() );
    ele2_vz             = (Float_t)( myElec2->vz() );

    pv_x2               = (Float_t)( myElec2->userFloat("pv_x") );
    pv_y2               = (Float_t)( myElec2->userFloat("pv_y") );
    pv_z2               = (Float_t)( myElec2->userFloat("pv_z") );

    ele2_gsfCharge      = (Int_t)  ( myElec2->gsfTrack()->charge() );
    ele2_ctfCharge      = (Int_t)  ( myElec2->closestCtfTrackRef().isNonnull() ? ( myElec2->closestCtfTrackRef()->charge() ) : -9999 );
    ele2_scPixCharge    = (Int_t)  ( myElec2->chargeInfo().scPixCharge );
    ele2_eop            = (Float_t)( myElec2->eSuperClusterOverP() );
    ele2_tip_bs         = (Float_t)( (-1.0) * myElec2->dB() );
    ele2_tip_pv         = (Float_t)( myElec2->userFloat("ele_tip_pv") );

    event_caloMET       = (Float_t)( myMet->et() );
    event_pfMET         = (Float_t)( myPfMet->et() );
    event_tcMET         = (Float_t)( myTcMet->et() );

    event_caloMET_phi   = (Float_t)( myMet->phi() );
    event_pfMET_phi     = (Float_t)( myPfMet->phi() );
    event_tcMET_phi     = (Float_t)( myTcMet->phi() );


    TLorentzVector p4e1;
    TLorentzVector p4e2;

    p4e1.SetPtEtaPhiM(ele1_sc_gsf_et, ele1_cand_eta, ele1_cand_phi, 0.000511);
    p4e2.SetPtEtaPhiM(ele2_sc_gsf_et, ele2_cand_eta, ele2_cand_phi, 0.000511);

    TLorentzVector Zp4 = p4e1 + p4e2 ;

    event_Mee = (Float_t)( Zp4.M() );

    event_datasetTag = DatasetTag_ ;

    // jet information - only if the user asks for it
    // keep the 5 highest et jets of the event that are further than DR > DRJetFromElectron_

    if ( includeJetInformationInNtuples_ ) {

        // initialize the array of the jet information

        for ( Int_t i=0; i < 5; ++i ) {

            calojet_et[i]  = -999999;
            calojet_eta[i] = -999999;
            calojet_phi[i] = -999999;

            pfjet_et[i]  = -999999;
            pfjet_eta[i] = -999999;
            pfjet_phi[i] = -999999;

        }

        // get hold of the jet collections
        edm::Handle< reco::CaloJetCollection > pCaloJets;
        iEvent.getByLabel(caloJetCollectionTag_, pCaloJets);

        edm::Handle< reco::PFJetCollection > pPfJets;
        iEvent.getByLabel(pfJetCollectionTag_, pPfJets);

        // calo jets now:
        if ( pCaloJets.isValid() ) {

            const reco::CaloJetCollection  *caloJets = pCaloJets.product();
            Int_t nCaloJets = (Int_t)( caloJets->size() );

            if ( nCaloJets > 0 ) {

                Float_t *nCaloET  = new Float_t[nCaloJets];
                Float_t *nCaloEta = new Float_t[nCaloJets];
                Float_t *nCaloPhi = new Float_t[nCaloJets];

//                 reco::CaloJetCollection::const_iterator cjet  =  caloJets->begin();

                Int_t counter = 0;

                for (reco::CaloJetCollection::const_iterator cjet = caloJets->begin() ; cjet != caloJets->end(); ++cjet) {

                    // store them only if they are far enough from the electron
                    Double_t DR1 = reco::deltaR(cjet->eta(), cjet->phi(), myElec1->gsfTrack()->eta(), ele1_sc_phi);
                    Double_t DR2 = reco::deltaR(cjet->eta(), cjet->phi(), myElec2->gsfTrack()->eta(), ele2_sc_phi);

                    if ( ( DR1 > DRJetFromElectron_ ) && ( DR2 > DRJetFromElectron_ ) ) {

                        nCaloET[counter]  = cjet->et();
                        nCaloEta[counter] = cjet->eta();
                        nCaloPhi[counter] = cjet->phi();
                        ++counter;
                    }
                }

                Int_t *caloJetSorted = new Int_t[nCaloJets];

                TMath::Sort(nCaloJets, nCaloET, caloJetSorted, true);

                for ( Int_t i = 0; i < nCaloJets; ++i ) {

                    if ( i >= 5 ) {
                        break;
                    }

                    calojet_et[i]  = nCaloET[ caloJetSorted[i] ];
                    calojet_eta[i] = nCaloEta[ caloJetSorted[i] ];
                    calojet_phi[i] = nCaloPhi[ caloJetSorted[i] ];
                }

                delete [] caloJetSorted;
                delete [] nCaloET;
                delete [] nCaloEta;
                delete [] nCaloPhi;
            }
        }
        else {
            std::cout << "ZeePlots: Could not get caloJet collection with name "<< caloJetCollectionTag_ << std::endl;
        }

        // pf jets now:
        if ( pPfJets.isValid()) {

            const  reco::PFJetCollection  *pfJets = pPfJets.product();
            Int_t nPfJets = (Int_t) pfJets->size();

            if ( nPfJets > 0 ) {

                Float_t *nPfET  = new Float_t[nPfJets];
                Float_t *nPfEta = new Float_t[nPfJets];
                Float_t *nPfPhi = new Float_t[nPfJets];

//                 reco::PFJetCollection::const_iterator pjet  =  pfJets->begin();

                Int_t counter = 0;

                for (reco::PFJetCollection::const_iterator pjet = pfJets->begin(); pjet !=  pfJets->end(); ++pjet) {

                    // store them only if they are far enough from the electron

                    Double_t DR1 = reco::deltaR(pjet->eta(), pjet->phi(), myElec1->gsfTrack()->eta(), ele1_sc_phi);
                    Double_t DR2 = reco::deltaR(pjet->eta(), pjet->phi(), myElec2->gsfTrack()->eta(), ele2_sc_phi);

                    if ( ( DR1 > DRJetFromElectron_ ) && ( DR2 > DRJetFromElectron_ ) ) {

                        nPfET[counter]  = pjet->et();
                        nPfEta[counter] = pjet->eta();
                        nPfPhi[counter] = pjet->phi();
                        ++counter;
                    }
                }

                Int_t *pfJetSorted = new Int_t[nPfJets];

                TMath::Sort(nPfJets, nPfET, pfJetSorted, true);

                for ( Int_t i = 0; i < nPfJets; ++i ) {

                    if ( i >= 5 ) {
                        break;
                    }

                    pfjet_et[i]  = nPfET[ pfJetSorted[i] ];
                    pfjet_eta[i] = nPfEta[ pfJetSorted[i] ];
                    pfjet_phi[i] = nPfPhi[ pfJetSorted[i] ];

                }

                delete [] pfJetSorted;
                delete [] nPfET;
                delete [] nPfEta;
                delete [] nPfPhi;

            }
        }
        else {
            std::cout << "ZeePlots: Could not get pfJet collection with name " << pfJetCollectionTag_ << std::endl;
        }

    }

    // if the electrons pass the selection
    // it is meant to be a precalculated selection here, in order to include
    // conversion rejection too
    if ( CheckCuts1(myElec1) && CheckCuts2(myElec2) ) {
        vbtfSele_tree->Fill();
    }

    vbtfPresele_tree->Fill();



    //
    // _______________________________________________________________________
    //
    // histogram production --------------------------------------------------
    // _______________________________________________________________________
    //
    // if you want some preselection: Conv rejection, hit pattern

//     if ( usePreselection_ ) {
//
//         Bool_t a1 = PassPreselectionCriteria1(myElec1);
//         Bool_t a2 = PassPreselectionCriteria2(myElec2);
//
//         if ( ! (a1 && a2) ) {
//             return ;
//         }
//     }


    Bool_t passPre1 = ( usePreselection1_ ) ? PassPreselectionCriteria1(myElec1) : true ;
    Bool_t passPre2 = ( usePreselection2_ ) ? PassPreselectionCriteria2(myElec2) : true ;

    if ( ! ( passPre1 && passPre2 ) ) {

        std::cout << "At least one electron fails preselection: Electron #1 = " << passPre1 << " - Electron #2 = " << passPre2 << std::endl;

        return ;
    }


    TLorentzVector e1;
    TLorentzVector e2;

    //  math::XYZVector p1  =    myElec1->trackMomentumAtVtx();
    //  math::XYZVector p2  =    myElec2->trackMomentumAtVtx();
    //  e1.SetPxPyPzE(p1.X(), p1.Y(), p1.Z(), myElec1->caloEnergy());
    //  e2.SetPxPyPzE(p2.X(), p2.Y(), p2.Z(), myElec2->caloEnergy());

    // Use directly the et,eta,phi from pat::Electron; assume e mass  =  0.000511 GeV
    e1.SetPtEtaPhiM(myElec1->et(),myElec1->eta(),myElec1->phi(),0.000511);
    e2.SetPtEtaPhiM(myElec2->et(),myElec2->eta(),myElec2->phi(),0.000511);


    TLorentzVector Z = e1 + e2;

    Double_t mee = Z.M();

    // the selection plots:
    Bool_t pass = ( CheckCuts1(myElec1) && CheckCuts2(myElec2) ) ;

    //cout << "This event passes? " << pass << ", mee is: " << mee
    //   << " and the histo is filled." << endl;

    if ( ! pass ) {
        return ;
    }

    h_mee->Fill(mee);

    if ( TMath::Abs(e1.Eta())<1.479 && TMath::Abs(e2.Eta())<1.479 ) {
        h_mee_EBEB->Fill(mee) ;
    }
    if ( TMath::Abs(e1.Eta())<1.479 && TMath::Abs(e2.Eta())>1.479 ) {
        h_mee_EBEE->Fill(mee) ;
    }
    if ( TMath::Abs(e1.Eta())>1.479 && TMath::Abs(e2.Eta())<1.479 ) {
        h_mee_EBEE->Fill(mee) ;
    }
    if ( TMath::Abs(e1.Eta())>1.479 && TMath::Abs(e2.Eta())>1.479 ) {
        h_mee_EEEE->Fill(mee) ;
    }

    h_Zcand_PT->Fill(Z.Pt());
    h_Zcand_Y->Fill(Z.Rapidity());

    h_e_PT->Fill(e1.Pt());
    h_e_PT->Fill(e2.Pt());
    h_e_ETA->Fill(e1.Eta());
    h_e_ETA->Fill(e2.Eta());
    h_e_PHI->Fill(e1.Phi());
    h_e_PHI->Fill(e2.Phi());

    if ( TMath::Abs(myElec1->eta()) < 1.479 ) {
        h_EB_trkiso->Fill(ReturnCandVar(myElec1,0));
        h_EB_ecaliso->Fill(ReturnCandVar(myElec1,1));
        h_EB_hcaliso->Fill(ReturnCandVar(myElec1,2));
        h_EB_sIetaIeta->Fill(myElec1->scSigmaIEtaIEta());
        h_EB_dphi->Fill(myElec1->deltaPhiSuperClusterTrackAtVtx());
        h_EB_deta->Fill(myElec1->deltaEtaSuperClusterTrackAtVtx());
        h_EB_HoE->Fill(myElec1->hadronicOverEm());
    }
    else {
        h_EE_trkiso->Fill(ReturnCandVar(myElec1,0));
        h_EE_ecaliso->Fill(ReturnCandVar(myElec1,1));
        h_EE_hcaliso->Fill(ReturnCandVar(myElec1,2));
        h_EE_sIetaIeta->Fill(myElec1->scSigmaIEtaIEta());
        h_EE_dphi->Fill(myElec1->deltaPhiSuperClusterTrackAtVtx());
        h_EE_deta->Fill(myElec1->deltaEtaSuperClusterTrackAtVtx());
        h_EE_HoE->Fill(myElec1->hadronicOverEm());
    }

    if ( TMath::Abs(myElec2->eta()) < 1.479 ) {
        h_EB_trkiso->Fill(ReturnCandVar(myElec2,0));
        h_EB_ecaliso->Fill(ReturnCandVar(myElec2,1));
        h_EB_hcaliso->Fill(ReturnCandVar(myElec2,2));
        h_EB_sIetaIeta->Fill(myElec2->scSigmaIEtaIEta());
        h_EB_dphi->Fill(myElec2->deltaPhiSuperClusterTrackAtVtx());
        h_EB_deta->Fill(myElec2->deltaEtaSuperClusterTrackAtVtx());
        h_EB_HoE->Fill(myElec2->hadronicOverEm());
    }
    else {
        h_EE_trkiso->Fill(ReturnCandVar(myElec2,0));
        h_EE_ecaliso->Fill(ReturnCandVar(myElec2,1));
        h_EE_hcaliso->Fill(ReturnCandVar(myElec2,2));
        h_EE_sIetaIeta->Fill(myElec2->scSigmaIEtaIEta());
        h_EE_dphi->Fill(myElec2->deltaPhiSuperClusterTrackAtVtx());
        h_EE_deta->Fill(myElec2->deltaEtaSuperClusterTrackAtVtx());
        h_EE_HoE->Fill(myElec2->hadronicOverEm());
    }

    //Double_tscEta=myElec->superCluster()->eta();
    //Double_tscPhi=myElec->superCluster()->phi();
    //Double_tscEt=myElec->superCluster()->energy()/cosh(scEta);

}
void ZeePlots::beginJob ( void  ) [private, virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 1152 of file ZeePlots.cc.

References calojet_et, calojet_eta, calojet_phi, cIso1_EB_, cIso1_EB_inv, cIso1_EE_, cIso1_EE_inv, cIso2_EB_, cIso2_EB_inv, cIso2_EE_, cIso2_EE_inv, CutVars1_, CutVars2_, deta1_EB_, deta1_EB_inv, deta1_EE_, deta1_EE_inv, deta2_EB_, deta2_EB_inv, deta2_EE_, deta2_EE_inv, dphi1_EB_, dphi1_EB_inv, dphi1_EE_, dphi1_EE_inv, dphi2_EB_, dphi2_EB_inv, dphi2_EE_, dphi2_EE_inv, ecalIso1_EB_, ecalIso1_EB_inv, ecalIso1_EE_, ecalIso1_EE_inv, ecalIso2_EB_, ecalIso2_EB_inv, ecalIso2_EE_, ecalIso2_EE_inv, ecalIsoUser1_EB_, ecalIsoUser1_EB_inv, ecalIsoUser1_EE_, ecalIsoUser1_EE_inv, ecalIsoUser2_EB_, ecalIsoUser2_EB_inv, ecalIsoUser2_EE_, ecalIsoUser2_EE_inv, ele1_cand_et, ele1_cand_eta, ele1_cand_phi, ele1_cr_dcot, ele1_cr_dist, ele1_cr_mhitsinner, ele1_ctfCharge, ele1_eop, ele1_gsfCharge, ele1_id_deta, ele1_id_dphi, ele1_id_hoe, ele1_id_sihih, ele1_iso_ecal, ele1_iso_hcal, ele1_iso_track, ele1_sc_energy, ele1_sc_eta, ele1_sc_gsf_et, ele1_sc_phi, ele1_scPixCharge, ele1_tip_bs, ele1_tip_pv, ele1_vx, ele1_vy, ele1_vz, ele2_cand_et, ele2_cand_eta, ele2_cand_phi, ele2_cr_dcot, ele2_cr_dist, ele2_cr_mhitsinner, ele2_ctfCharge, ele2_eop, ele2_gsfCharge, ele2_id_deta, ele2_id_dphi, ele2_id_hoe, ele2_id_sihih, ele2_iso_ecal, ele2_iso_hcal, ele2_iso_track, ele2_sc_energy, ele2_sc_eta, ele2_sc_gsf_et, ele2_sc_phi, ele2_scPixCharge, ele2_tip_bs, ele2_tip_pv, ele2_vx, ele2_vy, ele2_vz, eop1_EB_, eop1_EB_inv, eop1_EE_, eop1_EE_inv, eop2_EB_, eop2_EB_inv, eop2_EE_, eop2_EE_inv, event_caloMET, event_caloMET_phi, event_datasetTag, event_Mee, event_pfMET, event_pfMET_phi, event_tcMET, event_tcMET_phi, eventNumber, h_e_ETA, h_e_PHI, h_e_PT, h_EB_deta, h_EB_dphi, h_EB_ecaliso, h_EB_hcaliso, h_EB_HoE, h_EB_sIetaIeta, h_EB_trkiso, h_EE_deta, h_EE_dphi, h_EE_ecaliso, h_EE_hcaliso, h_EE_HoE, h_EE_sIetaIeta, h_EE_trkiso, h_mee, h_mee_EBEB, h_mee_EBEE, h_mee_EEEE, h_Zcand_PT, h_Zcand_Y, hcalIso1_EB_, hcalIso1_EB_inv, hcalIso1_EE_, hcalIso1_EE_inv, hcalIso2_EB_, hcalIso2_EB_inv, hcalIso2_EE_, hcalIso2_EE_inv, hcalIsoUser1_EB_, hcalIsoUser1_EB_inv, hcalIsoUser1_EE_, hcalIsoUser1_EE_inv, hcalIsoUser2_EB_, hcalIsoUser2_EB_inv, hcalIsoUser2_EE_, hcalIsoUser2_EE_inv, hoe1_EB_, hoe1_EB_inv, hoe1_EE_, hoe1_EE_inv, hoe2_EB_, hoe2_EB_inv, hoe2_EE_, hoe2_EE_inv, includeJetInformationInNtuples_, InvVars1_, InvVars2_, lumiSection, nBarrelVars_, pfjet_et, pfjet_eta, pfjet_phi, pv_x1, pv_x2, pv_y1, pv_y2, pv_z1, pv_z2, runNumber, sihih1_EB_, sihih1_EB_inv, sihih1_EE_, sihih1_EE_inv, sihih2_EB_, sihih2_EB_inv, sihih2_EE_, sihih2_EE_inv, tip_bspot1_EB_, tip_bspot1_EB_inv, tip_bspot1_EE_, tip_bspot1_EE_inv, tip_bspot2_EB_, tip_bspot2_EB_inv, tip_bspot2_EE_, tip_bspot2_EE_inv, trackIso1_EB_, trackIso1_EB_inv, trackIso1_EE_, trackIso1_EE_inv, trackIso2_EB_, trackIso2_EB_inv, trackIso2_EE_, trackIso2_EE_inv, trackIsoUser1_EB_, trackIsoUser1_EB_inv, trackIsoUser1_EE_, trackIsoUser1_EE_inv, trackIsoUser2_EB_, trackIsoUser2_EB_inv, trackIsoUser2_EE_, trackIsoUser2_EE_inv, vbtfPresele_tree, vbtfSele_tree, ZEE_VBTFpreseleFile_, ZEE_VBTFpreseleFileName_, ZEE_VBTFselectionFile_, and ZEE_VBTFselectionFileName_.

{
    //std::cout << "In beginJob()" << std::endl;

    h_mee      = new TH1F("h_mee"      , "h_mee"      , 200 ,  0.0 , 200.0) ;
    h_mee_EBEB = new TH1F("h_mee_EBEB" , "h_mee_EBEB" , 200 ,  0.0 , 200.0) ;
    h_mee_EBEE = new TH1F("h_mee_EBEE" , "h_mee_EBEE" , 200 ,  0.0 , 200.0) ;
    h_mee_EEEE = new TH1F("h_mee_EEEE" , "h_mee_EEEE" , 200 ,  0.0 , 200.0) ;
    h_Zcand_PT = new TH1F("h_Zcand_PT" , "h_Zcand_PT" , 200 ,  0.0 , 100.0) ;
    h_Zcand_Y  = new TH1F("h_Zcand_Y"  , "h_Zcand_Y"  , 200 , -5.0 ,   5.0) ;
    h_e_PT     = new TH1F("h_e_PT"     , "h_e_PT"     , 200 ,  0.0 , 100.0) ;
    h_e_ETA    = new TH1F("h_e_ETA"    , "h_e_ETA"    , 200 , -3.0 ,   3.0) ;
    h_e_PHI    = new TH1F("h_e_PHI"    , "h_e_PHI"    , 200 , -4.0 ,   4.0) ;


    //VALIDATION PLOTS
    //  EB
    h_EB_trkiso    = new TH1F("h_EB_trkiso"    , "h_EB_trkiso"    , 200 ,  0.00 , 9.00) ;
    h_EB_ecaliso   = new TH1F("h_EB_ecaliso"   , "h_EB_ecaliso"   , 200 ,  0.00 , 9.00) ;
    h_EB_hcaliso   = new TH1F("h_EB_hcaliso"   , "h_EB_hcaliso"   , 200 ,  0.00 , 9.00) ;
    h_EB_sIetaIeta = new TH1F("h_EB_sIetaIeta" , "h_EB_sIetaIeta" , 200 ,  0.00 , 0.02) ;
    h_EB_dphi      = new TH1F("h_EB_dphi"      , "h_EB_dphi"      , 200 , -0.03 , 0.03) ;
    h_EB_deta      = new TH1F("h_EB_deta"      , "h_EB_deta"      , 200 , -0.01 , 0.01) ;
    h_EB_HoE       = new TH1F("h_EB_HoE"       , "h_EB_HoE"       , 200 ,  0.00 , 0.20) ;
    //  EE
    h_EE_trkiso    = new TH1F("h_EE_trkiso"    , "h_EE_trkiso"    , 200 ,  0.00 , 9.00) ;
    h_EE_ecaliso   = new TH1F("h_EE_ecaliso"   , "h_EE_ecaliso"   , 200 ,  0.00 , 9.00) ;
    h_EE_hcaliso   = new TH1F("h_EE_hcaliso"   , "h_EE_hcaliso"   , 200 ,  0.00 , 9.00) ;
    h_EE_sIetaIeta = new TH1F("h_EE_sIetaIeta" , "h_EE_sIetaIeta" , 200 ,  0.00 , 0.10) ;
    h_EE_dphi      = new TH1F("h_EE_dphi"      , "h_EE_dphi"      , 200 , -0.03 , 0.03) ;
    h_EE_deta      = new TH1F("h_EE_deta"      , "h_EE_deta"      , 200 , -0.01 , 0.01) ;
    h_EE_HoE       = new TH1F("h_EE_HoE"       , "h_EE_HoE"       , 200 ,  0.00 , 0.20) ;


    // if you add some new variable change the nBarrelVars_ accordingly
    // reminder: in the current implementation you must have the same number
    //  of vars in both barrel and endcaps

    nBarrelVars_ = 13;

    //
    // Put EB variables together and EE variables together
    // number of barrel variables  =  number of endcap variable
    // if you don't want to use some variable put a very high cut

    //  1st Leg variables
    CutVars1_.push_back( trackIso1_EB_ )       ;  // 0
    CutVars1_.push_back( ecalIso1_EB_ )        ;  // 1
    CutVars1_.push_back( hcalIso1_EB_ )        ;  // 2
    CutVars1_.push_back( sihih1_EB_ )          ;  // 3
    CutVars1_.push_back( dphi1_EB_ )           ;  // 4
    CutVars1_.push_back( deta1_EB_ )           ;  // 5
    CutVars1_.push_back( hoe1_EB_ )            ;  // 6
    CutVars1_.push_back( cIso1_EB_ )           ;  // 7
    CutVars1_.push_back( tip_bspot1_EB_ )      ;  // 8
    CutVars1_.push_back( eop1_EB_ )            ;  // 9
    CutVars1_.push_back( trackIsoUser1_EB_ )   ;  // 10
    CutVars1_.push_back( ecalIsoUser1_EB_ )    ;  // 11
    CutVars1_.push_back( hcalIsoUser1_EB_ )    ;  // 12

    CutVars1_.push_back( trackIso1_EE_ )       ;  // 0
    CutVars1_.push_back( ecalIso1_EE_ )        ;  // 1
    CutVars1_.push_back( hcalIso1_EE_ )        ;  // 2
    CutVars1_.push_back( sihih1_EE_ )          ;  // 3
    CutVars1_.push_back( dphi1_EE_ )           ;  // 4
    CutVars1_.push_back( deta1_EE_ )           ;  // 5
    CutVars1_.push_back( hoe1_EE_ )            ;  // 6
    CutVars1_.push_back( cIso1_EE_ )           ;  // 7
    CutVars1_.push_back( tip_bspot1_EE_ )      ;  // 8
    CutVars1_.push_back( eop1_EE_ )            ;  // 9
    CutVars1_.push_back( trackIsoUser1_EE_ )   ;  // 10
    CutVars1_.push_back( ecalIsoUser1_EE_ )    ;  // 11
    CutVars1_.push_back( hcalIsoUser1_EE_ )    ;  // 12

    InvVars1_.push_back( trackIso1_EB_inv )    ;  // 0
    InvVars1_.push_back( ecalIso1_EB_inv )     ;  // 1
    InvVars1_.push_back( hcalIso1_EB_inv )     ;  // 2
    InvVars1_.push_back( sihih1_EB_inv )       ;  // 3
    InvVars1_.push_back( dphi1_EB_inv )        ;  // 4
    InvVars1_.push_back( deta1_EB_inv )        ;  // 5
    InvVars1_.push_back( hoe1_EB_inv )         ;  // 6
    InvVars1_.push_back( cIso1_EB_inv )        ;  // 7
    InvVars1_.push_back( tip_bspot1_EB_inv )   ;  // 8
    InvVars1_.push_back( eop1_EB_inv )         ;  // 9
    InvVars1_.push_back( trackIsoUser1_EB_inv );  // 10
    InvVars1_.push_back( ecalIsoUser1_EB_inv ) ;  // 11
    InvVars1_.push_back( hcalIsoUser1_EB_inv ) ;  // 12

    InvVars1_.push_back( trackIso1_EE_inv )    ;  // 0
    InvVars1_.push_back( ecalIso1_EE_inv )     ;  // 1
    InvVars1_.push_back( hcalIso1_EE_inv )     ;  // 2
    InvVars1_.push_back( sihih1_EE_inv )       ;  // 3
    InvVars1_.push_back( dphi1_EE_inv )        ;  // 4
    InvVars1_.push_back( deta1_EE_inv )        ;  // 5
    InvVars1_.push_back( hoe1_EE_inv )         ;  // 6
    InvVars1_.push_back( cIso1_EE_inv )        ;  // 7
    InvVars1_.push_back( tip_bspot1_EE_inv )   ;  // 8
    InvVars1_.push_back( eop1_EE_inv )         ;  // 9
    InvVars1_.push_back( trackIsoUser1_EE_inv );  // 10
    InvVars1_.push_back( ecalIsoUser1_EE_inv ) ;  // 11
    InvVars1_.push_back( hcalIsoUser1_EE_inv ) ;  // 12


    //  2nd Leg variables
    CutVars2_.push_back( trackIso2_EB_ )       ;  // 0
    CutVars2_.push_back( ecalIso2_EB_ )        ;  // 1
    CutVars2_.push_back( hcalIso2_EB_ )        ;  // 2
    CutVars2_.push_back( sihih2_EB_ )          ;  // 3
    CutVars2_.push_back( dphi2_EB_ )           ;  // 4
    CutVars2_.push_back( deta2_EB_ )           ;  // 5
    CutVars2_.push_back( hoe2_EB_ )            ;  // 6
    CutVars2_.push_back( cIso2_EB_ )           ;  // 7
    CutVars2_.push_back( tip_bspot2_EB_ )      ;  // 8
    CutVars2_.push_back( eop2_EB_ )            ;  // 9
    CutVars2_.push_back( trackIsoUser2_EB_ )   ;  // 10
    CutVars2_.push_back( ecalIsoUser2_EB_ )    ;  // 11
    CutVars2_.push_back( hcalIsoUser2_EB_ )    ;  // 12

    CutVars2_.push_back( trackIso2_EE_ )       ;  // 0
    CutVars2_.push_back( ecalIso2_EE_ )        ;  // 1
    CutVars2_.push_back( hcalIso2_EE_ )        ;  // 2
    CutVars2_.push_back( sihih2_EE_ )          ;  // 3
    CutVars2_.push_back( dphi2_EE_ )           ;  // 4
    CutVars2_.push_back( deta2_EE_ )           ;  // 5
    CutVars2_.push_back( hoe2_EE_ )            ;  // 6
    CutVars2_.push_back( cIso2_EE_ )           ;  // 7
    CutVars2_.push_back( tip_bspot2_EE_ )      ;  // 8
    CutVars2_.push_back( eop2_EE_ )            ;  // 9
    CutVars2_.push_back( trackIsoUser2_EE_ )   ;  // 10
    CutVars2_.push_back( ecalIsoUser2_EE_ )    ;  // 11
    CutVars2_.push_back( hcalIsoUser2_EE_ )    ;  // 12

    InvVars2_.push_back( trackIso2_EB_inv )    ;  // 0
    InvVars2_.push_back( ecalIso2_EB_inv )     ;  // 1
    InvVars2_.push_back( hcalIso2_EB_inv )     ;  // 2
    InvVars2_.push_back( sihih2_EB_inv )       ;  // 3
    InvVars2_.push_back( dphi2_EB_inv )        ;  // 4
    InvVars2_.push_back( deta2_EB_inv )        ;  // 5
    InvVars2_.push_back( hoe2_EB_inv )         ;  // 6
    InvVars2_.push_back( cIso2_EB_inv )        ;  // 7
    InvVars2_.push_back( tip_bspot2_EB_inv )   ;  // 8
    InvVars2_.push_back( eop2_EB_inv )         ;  // 9
    InvVars2_.push_back( trackIsoUser2_EB_inv );  // 10
    InvVars2_.push_back( ecalIsoUser2_EB_inv ) ;  // 11
    InvVars2_.push_back( hcalIsoUser2_EB_inv ) ;  // 12

    InvVars2_.push_back( trackIso2_EE_inv )    ;  // 0
    InvVars2_.push_back( ecalIso2_EE_inv )     ;  // 1
    InvVars2_.push_back( hcalIso2_EE_inv )     ;  // 2
    InvVars2_.push_back( sihih2_EE_inv )       ;  // 3
    InvVars2_.push_back( dphi2_EE_inv )        ;  // 4
    InvVars2_.push_back( deta2_EE_inv )        ;  // 5
    InvVars2_.push_back( hoe2_EE_inv )         ;  // 6
    InvVars2_.push_back( cIso2_EE_inv )        ;  // 7
    InvVars2_.push_back( tip_bspot2_EE_inv )   ;  // 8
    InvVars2_.push_back( eop2_EE_inv )         ;  // 9
    InvVars2_.push_back( trackIsoUser2_EE_inv );  // 10
    InvVars2_.push_back( ecalIsoUser2_EE_inv ) ;  // 11
    InvVars2_.push_back( hcalIsoUser2_EE_inv ) ;  // 12

    // ________________________________________________________________________
    //
    // The VBTF Root Tuples ---------------------------------------------------
    // ________________________________________________________________________
    //
    ZEE_VBTFselectionFile_ = new TFile(TString(ZEE_VBTFselectionFileName_) , "RECREATE");

    vbtfSele_tree = new TTree("vbtfSele_tree", "Tree to store the Z Candidates that pass the VBTF selection");

    vbtfSele_tree->Branch("runNumber", &runNumber, "runNumber/I");
    vbtfSele_tree->Branch("eventNumber", &eventNumber, "eventNumber/L");
    vbtfSele_tree->Branch("lumiSection", &lumiSection, "lumiSection/I");

    //  for ele 1
    vbtfSele_tree->Branch("ele1_sc_gsf_et", &ele1_sc_gsf_et,"ele1_sc_gsf_et/F");
    vbtfSele_tree->Branch("ele1_sc_energy", &ele1_sc_energy,"ele1_sc_energy/F");
    vbtfSele_tree->Branch("ele1_sc_eta", &ele1_sc_eta,"ele1_sc_eta/F");
    vbtfSele_tree->Branch("ele1_sc_phi", &ele1_sc_phi,"ele1_sc_phi/F");
    vbtfSele_tree->Branch("ele1_cand_et", &ele1_cand_et, "ele1_cand_et/F");
    vbtfSele_tree->Branch("ele1_cand_eta", &ele1_cand_eta,"ele1_cand_eta/F");
    vbtfSele_tree->Branch("ele1_cand_phi",&ele1_cand_phi,"ele1_cand_phi/F");
    vbtfSele_tree->Branch("ele1_iso_track",&ele1_iso_track,"ele1_iso_track/F");
    vbtfSele_tree->Branch("ele1_iso_ecal",&ele1_iso_ecal,"ele1_iso_ecal/F");
    vbtfSele_tree->Branch("ele1_iso_hcal",&ele1_iso_hcal,"ele1_iso_hcal/F");
    vbtfSele_tree->Branch("ele1_id_sihih",&ele1_id_sihih,"ele1_id_sihih/F");
    vbtfSele_tree->Branch("ele1_id_deta",&ele1_id_deta,"ele1_id_deta/F");
    vbtfSele_tree->Branch("ele1_id_dphi",&ele1_id_dphi,"ele1_id_dphi/F");
    vbtfSele_tree->Branch("ele1_id_hoe",&ele1_id_hoe,"ele1_id_hoe/F");
    vbtfSele_tree->Branch("ele1_cr_mhitsinner",&ele1_cr_mhitsinner,"ele1_cr_mhitsinner/I");
    vbtfSele_tree->Branch("ele1_cr_dcot",&ele1_cr_dcot,"ele1_cr_dcot/F");
    vbtfSele_tree->Branch("ele1_cr_dist",&ele1_cr_dist,"ele1_cr_dist/F");
    vbtfSele_tree->Branch("ele1_vx",&ele1_vx,"ele1_vx/F");
    vbtfSele_tree->Branch("ele1_vy",&ele1_vy,"ele1_vy/F");
    vbtfSele_tree->Branch("ele1_vz",&ele1_vz,"ele1_vz/F");
    vbtfSele_tree->Branch("ele1_gsfCharge",&ele1_gsfCharge,"ele1_gsfCharge/I");
    vbtfSele_tree->Branch("ele1_ctfCharge",&ele1_ctfCharge,"ele1_ctfCharge/I");
    vbtfSele_tree->Branch("ele1_scPixCharge",&ele1_scPixCharge,"ele1_scPixCharge/I");
    vbtfSele_tree->Branch("ele1_eop",&ele1_eop,"ele1_eop/F");
    vbtfSele_tree->Branch("ele1_tip_bs",&ele1_tip_bs,"ele1_tip_bs/F");
    vbtfSele_tree->Branch("ele1_tip_pv",&ele1_tip_pv,"ele1_tip_pv/F");

    //  for ele 2
    vbtfSele_tree->Branch("ele2_sc_gsf_et", &ele2_sc_gsf_et,"ele2_sc_gsf_et/F");
    vbtfSele_tree->Branch("ele2_sc_energy", &ele2_sc_energy,"ele2_sc_energy/F");
    vbtfSele_tree->Branch("ele2_sc_eta", &ele2_sc_eta,"ele2_sc_eta/F");
    vbtfSele_tree->Branch("ele2_sc_phi", &ele2_sc_phi,"ele2_sc_phi/F");
    vbtfSele_tree->Branch("ele2_cand_et", &ele2_cand_et, "ele2_cand_et/F");
    vbtfSele_tree->Branch("ele2_cand_eta", &ele2_cand_eta,"ele2_cand_eta/F");
    vbtfSele_tree->Branch("ele2_cand_phi",&ele2_cand_phi,"ele2_cand_phi/F");
    vbtfSele_tree->Branch("ele2_iso_track",&ele2_iso_track,"ele2_iso_track/F");
    vbtfSele_tree->Branch("ele2_iso_ecal",&ele2_iso_ecal,"ele2_iso_ecal/F");
    vbtfSele_tree->Branch("ele2_iso_hcal",&ele2_iso_hcal,"ele2_iso_hcal/F");
    vbtfSele_tree->Branch("ele2_id_sihih",&ele2_id_sihih,"ele2_id_sihih/F");
    vbtfSele_tree->Branch("ele2_id_deta",&ele2_id_deta,"ele2_id_deta/F");
    vbtfSele_tree->Branch("ele2_id_dphi",&ele2_id_dphi,"ele2_id_dphi/F");
    vbtfSele_tree->Branch("ele2_id_hoe",&ele2_id_hoe,"ele2_id_hoe/F");
    vbtfSele_tree->Branch("ele2_cr_mhitsinner",&ele2_cr_mhitsinner,"ele2_cr_mhitsinner/I");
    vbtfSele_tree->Branch("ele2_cr_dcot",&ele2_cr_dcot,"ele2_cr_dcot/F");
    vbtfSele_tree->Branch("ele2_cr_dist",&ele2_cr_dist,"ele2_cr_dist/F");
    vbtfSele_tree->Branch("ele2_vx",&ele2_vx,"ele2_vx/F");
    vbtfSele_tree->Branch("ele2_vy",&ele2_vy,"ele2_vy/F");
    vbtfSele_tree->Branch("ele2_vz",&ele2_vz,"ele2_vz/F");
    vbtfSele_tree->Branch("ele2_gsfCharge",&ele2_gsfCharge,"ele2_gsfCharge/I");
    vbtfSele_tree->Branch("ele2_ctfCharge",&ele2_ctfCharge,"ele2_ctfCharge/I");
    vbtfSele_tree->Branch("ele2_scPixCharge",&ele2_scPixCharge,"ele2_scPixCharge/I");
    vbtfSele_tree->Branch("ele2_eop",&ele2_eop,"ele2_eop/F");
    vbtfSele_tree->Branch("ele2_tip_bs",&ele2_tip_bs,"ele2_tip_bs/F");
    vbtfSele_tree->Branch("ele2_tip_pv",&ele2_tip_pv,"ele2_tip_pv/F");
    //
    vbtfSele_tree->Branch("pv_x1",&pv_x1,"pv_x1/F");
    vbtfSele_tree->Branch("pv_y1",&pv_y1,"pv_y1/F");
    vbtfSele_tree->Branch("pv_z1",&pv_z1,"pv_z1/F");
    //
    vbtfSele_tree->Branch("pv_x2",&pv_x2,"pv_x2/F");
    vbtfSele_tree->Branch("pv_y2",&pv_y2,"pv_y2/F");
    vbtfSele_tree->Branch("pv_z2",&pv_z2,"pv_z2/F");
    //
    vbtfSele_tree->Branch("event_caloMET",&event_caloMET,"event_caloMET/F");
    vbtfSele_tree->Branch("event_pfMET",&event_pfMET,"event_pfMET/F");
    vbtfSele_tree->Branch("event_tcMET",&event_tcMET,"event_tcMET/F");
    vbtfSele_tree->Branch("event_caloMET_phi",&event_caloMET_phi,"event_caloMET_phi/F");
    vbtfSele_tree->Branch("event_pfMET_phi",&event_pfMET_phi,"event_pfMET_phi/F");
    vbtfSele_tree->Branch("event_tcMET_phi",&event_tcMET_phi,"event_tcMET_phi/F");

    vbtfSele_tree->Branch("event_Mee",&event_Mee,"event_Mee/F");

    //
    // the extra jet variables:
    if ( includeJetInformationInNtuples_ ) {

        vbtfSele_tree->Branch("calojet_et",calojet_et,"calojet_et[5]/F");
        vbtfSele_tree->Branch("calojet_eta",calojet_eta,"calojet_eta[5]/F");
        vbtfSele_tree->Branch("calojet_phi",calojet_phi,"calojet_phi[5]/F");
        vbtfSele_tree->Branch("pfjet_et",pfjet_et,"pfjet_et[5]/F");
        vbtfSele_tree->Branch("pfjet_eta",pfjet_eta,"pfjet_eta[5]/F");
        vbtfSele_tree->Branch("pfjet_phi",pfjet_phi,"pfjet_phi[5]/F");

    }

    vbtfSele_tree->Branch("event_datasetTag",&event_datasetTag,"event_dataSetTag/I");

    // everything after preselection
    ZEE_VBTFpreseleFile_ = new TFile(TString(ZEE_VBTFpreseleFileName_) , "RECREATE");

    vbtfPresele_tree = new TTree("vbtfPresele_tree", "Tree to store the Z Candidates that pass the VBTF preselection");

    vbtfPresele_tree->Branch("runNumber", &runNumber, "runNumber/I");
    vbtfPresele_tree->Branch("eventNumber", &eventNumber, "eventNumber/L");
    vbtfPresele_tree->Branch("lumiSection", &lumiSection, "lumiSection/I");

    //  for ele 1
    vbtfPresele_tree->Branch("ele1_sc_gsf_et", &ele1_sc_gsf_et,"ele1_sc_gsf_et/F");
    vbtfPresele_tree->Branch("ele1_sc_energy", &ele1_sc_energy,"ele1_sc_energy/F");
    vbtfPresele_tree->Branch("ele1_sc_eta", &ele1_sc_eta,"ele1_sc_eta/F");
    vbtfPresele_tree->Branch("ele1_sc_phi", &ele1_sc_phi,"ele1_sc_phi/F");
    vbtfPresele_tree->Branch("ele1_cand_et", &ele1_cand_et, "ele1_cand_et/F");
    vbtfPresele_tree->Branch("ele1_cand_eta", &ele1_cand_eta,"ele1_cand_eta/F");
    vbtfPresele_tree->Branch("ele1_cand_phi",&ele1_cand_phi,"ele1_cand_phi/F");
    vbtfPresele_tree->Branch("ele1_iso_track",&ele1_iso_track,"ele1_iso_track/F");
    vbtfPresele_tree->Branch("ele1_iso_ecal",&ele1_iso_ecal,"ele1_iso_ecal/F");
    vbtfPresele_tree->Branch("ele1_iso_hcal",&ele1_iso_hcal,"ele1_iso_hcal/F");
    vbtfPresele_tree->Branch("ele1_id_sihih",&ele1_id_sihih,"ele1_id_sihih/F");
    vbtfPresele_tree->Branch("ele1_id_deta",&ele1_id_deta,"ele1_id_deta/F");
    vbtfPresele_tree->Branch("ele1_id_dphi",&ele1_id_dphi,"ele1_id_dphi/F");
    vbtfPresele_tree->Branch("ele1_id_hoe",&ele1_id_hoe,"ele1_id_hoe/F");
    vbtfPresele_tree->Branch("ele1_cr_mhitsinner",&ele1_cr_mhitsinner,"ele1_cr_mhitsinner/I");
    vbtfPresele_tree->Branch("ele1_cr_dcot",&ele1_cr_dcot,"ele1_cr_dcot/F");
    vbtfPresele_tree->Branch("ele1_cr_dist",&ele1_cr_dist,"ele1_cr_dist/F");
    vbtfPresele_tree->Branch("ele1_vx",&ele1_vx,"ele1_vx/F");
    vbtfPresele_tree->Branch("ele1_vy",&ele1_vy,"ele1_vy/F");
    vbtfPresele_tree->Branch("ele1_vz",&ele1_vz,"ele1_vz/F");
    vbtfPresele_tree->Branch("ele1_gsfCharge",&ele1_gsfCharge,"ele1_gsfCharge/I");
    vbtfPresele_tree->Branch("ele1_ctfCharge",&ele1_ctfCharge,"ele1_ctfCharge/I");
    vbtfPresele_tree->Branch("ele1_scPixCharge",&ele1_scPixCharge,"ele1_scPixCharge/I");
    vbtfPresele_tree->Branch("ele1_eop",&ele1_eop,"ele1_eop/F");
    vbtfPresele_tree->Branch("ele1_tip_bs",&ele1_tip_bs,"ele1_tip_bs/F");
    vbtfPresele_tree->Branch("ele1_tip_pv",&ele1_tip_pv,"ele1_tip_pv/F");

    //  for ele 2
    vbtfPresele_tree->Branch("ele2_sc_gsf_et", &ele2_sc_gsf_et,"ele2_sc_gsf_et/F");
    vbtfPresele_tree->Branch("ele2_sc_energy", &ele2_sc_energy,"ele2_sc_energy/F");
    vbtfPresele_tree->Branch("ele2_sc_eta", &ele2_sc_eta,"ele2_sc_eta/F");
    vbtfPresele_tree->Branch("ele2_sc_phi", &ele2_sc_phi,"ele2_sc_phi/F");
    vbtfPresele_tree->Branch("ele2_cand_et", &ele2_cand_et, "ele2_cand_et/F");
    vbtfPresele_tree->Branch("ele2_cand_eta", &ele2_cand_eta,"ele2_cand_eta/F");
    vbtfPresele_tree->Branch("ele2_cand_phi",&ele2_cand_phi,"ele2_cand_phi/F");
    vbtfPresele_tree->Branch("ele2_iso_track",&ele2_iso_track,"ele2_iso_track/F");
    vbtfPresele_tree->Branch("ele2_iso_ecal",&ele2_iso_ecal,"ele2_iso_ecal/F");
    vbtfPresele_tree->Branch("ele2_iso_hcal",&ele2_iso_hcal,"ele2_iso_hcal/F");
    vbtfPresele_tree->Branch("ele2_id_sihih",&ele2_id_sihih,"ele2_id_sihih/F");
    vbtfPresele_tree->Branch("ele2_id_deta",&ele2_id_deta,"ele2_id_deta/F");
    vbtfPresele_tree->Branch("ele2_id_dphi",&ele2_id_dphi,"ele2_id_dphi/F");
    vbtfPresele_tree->Branch("ele2_id_hoe",&ele2_id_hoe,"ele2_id_hoe/F");
    vbtfPresele_tree->Branch("ele2_cr_mhitsinner",&ele2_cr_mhitsinner,"ele2_cr_mhitsinner/I");
    vbtfPresele_tree->Branch("ele2_cr_dcot",&ele2_cr_dcot,"ele2_cr_dcot/F");
    vbtfPresele_tree->Branch("ele2_cr_dist",&ele2_cr_dist,"ele2_cr_dist/F");
    vbtfPresele_tree->Branch("ele2_vx",&ele2_vx,"ele2_vx/F");
    vbtfPresele_tree->Branch("ele2_vy",&ele2_vy,"ele2_vy/F");
    vbtfPresele_tree->Branch("ele2_vz",&ele2_vz,"ele2_vz/F");
    vbtfPresele_tree->Branch("ele2_gsfCharge",&ele2_gsfCharge,"ele2_gsfCharge/I");
    vbtfPresele_tree->Branch("ele2_ctfCharge",&ele2_ctfCharge,"ele2_ctfCharge/I");
    vbtfPresele_tree->Branch("ele2_scPixCharge",&ele2_scPixCharge,"ele2_scPixCharge/I");
    vbtfPresele_tree->Branch("ele2_eop",&ele2_eop,"ele2_eop/F");
    vbtfPresele_tree->Branch("ele2_tip_bs",&ele2_tip_bs,"ele2_tip_bs/F");
    vbtfPresele_tree->Branch("ele2_tip_pv",&ele2_tip_pv,"ele2_tip_pv/F");

    vbtfPresele_tree->Branch("pv_x1",&pv_x1,"pv_x1/F");
    vbtfPresele_tree->Branch("pv_y1",&pv_y1,"pv_y1/F");
    vbtfPresele_tree->Branch("pv_z1",&pv_z1,"pv_z1/F");

    vbtfPresele_tree->Branch("pv_x2",&pv_x2,"pv_x2/F");
    vbtfPresele_tree->Branch("pv_y2",&pv_y2,"pv_y2/F");
    vbtfPresele_tree->Branch("pv_z2",&pv_z2,"pv_z2/F");

    vbtfPresele_tree->Branch("event_caloMET",&event_caloMET,"event_caloMET/F");
    vbtfPresele_tree->Branch("event_pfMET",&event_pfMET,"event_pfMET/F");
    vbtfPresele_tree->Branch("event_tcMET",&event_tcMET,"event_tcMET/F");
    vbtfPresele_tree->Branch("event_caloMET_phi",&event_caloMET_phi,"event_caloMET_phi/F");
    vbtfPresele_tree->Branch("event_pfMET_phi",&event_pfMET_phi,"event_pfMET_phi/F");
    vbtfPresele_tree->Branch("event_tcMET_phi",&event_tcMET_phi,"event_tcMET_phi/F");

    vbtfPresele_tree->Branch("event_Mee",&event_Mee,"event_Mee/F");

    //
    // the extra jet variables:
    if ( includeJetInformationInNtuples_) {

        vbtfPresele_tree->Branch("calojet_et",calojet_et,"calojet_et[5]/F");
        vbtfPresele_tree->Branch("calojet_eta",calojet_eta,"calojet_eta[5]/F");
        vbtfPresele_tree->Branch("calojet_phi",calojet_phi,"calojet_phi[5]/F");
        vbtfPresele_tree->Branch("pfjet_et",pfjet_et,"pfjet_et[5]/F");
        vbtfPresele_tree->Branch("pfjet_eta",pfjet_eta,"pfjet_eta[5]/F");
        vbtfPresele_tree->Branch("pfjet_phi",pfjet_phi,"pfjet_phi[5]/F");

    }

    vbtfPresele_tree->Branch("event_datasetTag",&event_datasetTag,"event_dataSetTag/I");


    // _________________________________________________________________________
    //



}
void ZeePlots::bookEleClassesPlots ( )

Definition at line 418 of file ZeePlots.cc.

References file_, h1_occupancyVsEtaCrack_, h1_occupancyVsEtaGold_, h1_occupancyVsEtaShower_, and h1_occupancyVsEtaSilver_.

                                  {

  file_->cd();

  h1_occupancyVsEtaGold_ = new TH1F("occupancyVsEtaGold","occupancyVsEtaGold", 200, -4.,4.);
  h1_occupancyVsEtaGold_->SetYTitle("Electron statistics");
  h1_occupancyVsEtaGold_->SetXTitle("Eta channel");

  h1_occupancyVsEtaSilver_ = new TH1F("occupancyVsEtaSilver","occupancyVsEtaSilver", 200, -4.,4.);
  h1_occupancyVsEtaSilver_->SetYTitle("Electron statistics");
  h1_occupancyVsEtaSilver_->SetXTitle("Eta channel");

  h1_occupancyVsEtaShower_ = new TH1F("occupancyVsEtaShower","occupancyVsEtaShower", 200, -4.,4.);
  h1_occupancyVsEtaShower_->SetYTitle("Electron statistics");
  h1_occupancyVsEtaShower_->SetXTitle("Eta channel");

  h1_occupancyVsEtaCrack_ = new TH1F("occupancyVsEtaCrack","occupancyVsEtaCrack", 200, -4.,4.);
  h1_occupancyVsEtaCrack_->SetYTitle("Electron statistics");
  h1_occupancyVsEtaCrack_->SetXTitle("Eta channel");

}
void ZeePlots::bookEleHistograms ( )

Definition at line 231 of file ZeePlots.cc.

References file_, h1_nEleReco_, h1_recoEleEnergy_, h1_recoEleEta_, h1_recoElePhi_, and h1_recoElePt_.

Referenced by ZeeCalibration::bookHistograms().

                                {

  file_->cd();

  h1_nEleReco_ = new TH1F("h1_nEleReco", "h1_nEleReco", 20, 0, 20 );
  h1_nEleReco_->SetXTitle("Num. of reco electrons");
  
  h1_recoEleEnergy_ = new TH1F("recoEleEnergy","EleEnergy from SC",300,0.,300.);
  h1_recoEleEnergy_->SetXTitle("eleSCEnergy(GeV)");
  h1_recoEleEnergy_->SetYTitle("events");
  
  h1_recoElePt_ = new TH1F("recoElePt","p_{T} of reco electrons",300,0.,300.);
  h1_recoElePt_->SetXTitle("p_{T}(GeV/c)");
  h1_recoElePt_->SetYTitle("events");

  h1_recoEleEta_ = new TH1F("recoEleEta","Eta of reco electrons",100,-4.,4.);
  h1_recoEleEta_->SetXTitle("#eta");
  h1_recoEleEta_->SetYTitle("events");

   
  h1_recoElePhi_ = new TH1F("recoElePhi","Phi of reco electrons",100,-4.,4.);
  h1_recoElePhi_->SetXTitle("#phi");
  h1_recoElePhi_->SetYTitle("events");



}
void ZeePlots::bookEleMCHistograms ( )

Definition at line 186 of file ZeePlots.cc.

References file_, h1_mcEle_Energy_, h1_mcEleEta_, h1_mcElePhi_, and h1_mcElePt_.

Referenced by ZeeCalibration::bookHistograms().

                                  {

  file_->cd();

  h1_mcEle_Energy_ = new TH1F("mcEleEnergy","mc EleEnergy",300,0.,300.);
  h1_mcEle_Energy_->SetXTitle("E (GeV)");
  h1_mcEle_Energy_->SetYTitle("events");

  h1_mcElePt_ = new TH1F("mcElePt","p_{T} of MC electrons",300,0.,300.);
  h1_mcElePt_->SetXTitle("p_{T}(GeV/c)");
  h1_mcElePt_->SetYTitle("events");
  
  h1_mcEleEta_ = new TH1F("mcEleEta","Eta of MC electrons",100,-4.,4.);
  h1_mcEleEta_->SetXTitle("#eta");
  h1_mcEleEta_->SetYTitle("events");

  h1_mcElePhi_ = new TH1F("mcElePhi","Phi of MC electrons",100,-4.,4.);
  h1_mcElePhi_->SetXTitle("#phi");
  h1_mcElePhi_->SetYTitle("events");

}
void ZeePlots::bookHLTHistograms ( )

Definition at line 317 of file ZeePlots.cc.

References file_, h1_FiredTriggers_, h1_HLT1Electron_FiredEvents_, h1_HLT1Electron_HLT2Electron_FiredEvents_, h1_HLT1Electron_HLT2Electron_HLT2ElectronRelaxed_FiredEvents_, h1_HLT1Electron_HLT2ElectronRelaxed_FiredEvents_, h1_HLT2Electron_FiredEvents_, h1_HLT2Electron_HLT2ElectronRelaxed_FiredEvents_, h1_HLT2ElectronRelaxed_FiredEvents_, and h1_HLTVisitedEvents_.

                                {

  file_->cd();

  h1_FiredTriggers_= new TH1F("h1_FiredTriggers", "h1_FiredTriggers", 5,0,5);
 
  h1_HLTVisitedEvents_ = new TH1F("h1_HLTVisitedEvents", "h1_HLTVisitedEvents", 5,0,5);

  h1_HLT1Electron_FiredEvents_ =  new TH1F("h1_HLT1Electron_FiredEvents", "h1_HLT1Electron_FiredEvents", 5,0,5);
  h1_HLT2Electron_FiredEvents_ =  new TH1F("h1_HLT2Electron_FiredEvents", "h1_HLT2Electron_FiredEvents", 5,0,5);
  h1_HLT2ElectronRelaxed_FiredEvents_ =  new TH1F("h1_HLT2ElectronRelaxed_FiredEvents", "h1_HLT2ElectronRelaxed_FiredEvents", 5,0,5);

  h1_HLT1Electron_HLT2Electron_FiredEvents_ =  new TH1F("h1_HLT1Electron_HLT2Electron_FiredEvents", "h1_HLT1Electron_HLT2Electron_FiredEvents", 5,0,5);
  h1_HLT1Electron_HLT2ElectronRelaxed_FiredEvents_ =  new TH1F("h1_HLT1Electron_HLT2ElectronRelaxed_FiredEvents", "h1_HLT1Electron_HLT2ElectronRelaxed_FiredEvents", 5,0,5);
  h1_HLT2Electron_HLT2ElectronRelaxed_FiredEvents_ =  new TH1F("h1_HLT2Electron_HLT2ElectronRelaxed_FiredEvents", "h1_HLT2Electron_HLT2ElectronRelaxed_FiredEvents", 5,0,5);

  h1_HLT1Electron_HLT2Electron_HLT2ElectronRelaxed_FiredEvents_ =  new TH1F("h1_HLT1Electron_HLT2Electron_HLT2ElectronRelaxed_FiredEvents", "h1_HLT1Electron_HLT2Electron_HLT2ElectronRelaxed_FiredEvents", 5,0,5);


}
void ZeePlots::bookZHistograms ( )

Definition at line 89 of file ZeePlots.cc.

References file_, h1_reco_ZEta_, h1_reco_ZPhi_, h1_reco_ZPt_, h1_reco_ZRapidity_, and h1_reco_ZTheta_.

Referenced by ZeeCalibration::bookHistograms().

                              {

  file_ -> cd();

  h1_reco_ZEta_ = new TH1F("reco_ZEta","Eta of reco Z",200,-6.,6.);
  h1_reco_ZEta_->SetXTitle("#eta");
  h1_reco_ZEta_->SetYTitle("events");
  
  h1_reco_ZTheta_ = new TH1F("reco_ZTheta","Theta of reco Z",200, 0., 4.);
  h1_reco_ZTheta_->SetXTitle("#theta");
  h1_reco_ZTheta_->SetYTitle("events");
  
  h1_reco_ZRapidity_ = new TH1F("reco_ZRapidity","Rapidity of reco Z",200,-6.,6.);
  h1_reco_ZRapidity_->SetXTitle("Y");
  h1_reco_ZRapidity_->SetYTitle("events");
  
  h1_reco_ZPhi_ = new TH1F("reco_ZPhi","Phi of reco Z",100,-4.,4.);
  h1_reco_ZPhi_->SetXTitle("#phi");
  h1_reco_ZPhi_->SetYTitle("events");
  
  h1_reco_ZPt_ = new TH1F("reco_ZPt","Pt of reco Z",200,0.,100.);
  h1_reco_ZPt_->SetXTitle("p_{T} (GeV/c)");
  h1_reco_ZPt_->SetYTitle("events");
  
  
}
void ZeePlots::bookZMCHistograms ( )

Definition at line 62 of file ZeePlots.cc.

References file_, h1_gen_ZEta_, h1_gen_ZMass_, h1_gen_ZPhi_, h1_gen_ZPt_, and h1_gen_ZRapidity_.

Referenced by ZeeCalibration::bookHistograms().

                                {

  file_ -> cd();

  h1_gen_ZMass_ = new TH1F("gen_ZMass","Generated Z mass",200,0.,150.);
  h1_gen_ZMass_->SetXTitle("gen_ZMass (GeV)");
  h1_gen_ZMass_->SetYTitle("events");

  h1_gen_ZEta_ = new TH1F("gen_ZEta","Eta of gen Z",200,-6.,6.);
  h1_gen_ZEta_->SetXTitle("#eta");
  h1_gen_ZEta_->SetYTitle("events");

  h1_gen_ZPhi_ = new TH1F("gen_ZPhi","Phi of gen Z",200,-4.,4.);
  h1_gen_ZPhi_->SetXTitle("#phi");
  h1_gen_ZPhi_->SetYTitle("events");

  h1_gen_ZRapidity_ = new TH1F("gen_ZRapidity","Rapidity of gen Z",200,-6.,6.);
  h1_gen_ZRapidity_->SetXTitle("Y");
  h1_gen_ZRapidity_->SetYTitle("events");

  h1_gen_ZPt_ = new TH1F("gen_ZPt","Pt of gen Z",200, 0.,100.);
  h1_gen_ZPt_->SetXTitle("p_{T} (GeV/c)");
  h1_gen_ZPt_->SetYTitle("events");


}
Bool_t ZeePlots::CheckCut1 ( const pat::Electron ele,
Int_t  i 
) [private]

Definition at line 908 of file ZeePlots.cc.

References CutVars1_, i, nBarrelVars_, ReturnCandVar(), and pat::Electron::superCluster().

Referenced by CheckCuts1(), and CheckCuts1NminusOne().

                                                          {

    Double_t fabseta = TMath::Abs(ele->superCluster()->eta());

    if ( fabseta < 1.479 ) {
        return ( TMath::Abs(ReturnCandVar(ele, i)) < CutVars1_[i] ) ;
    }

    return ( TMath::Abs(ReturnCandVar(ele, i)) < CutVars1_[i+nBarrelVars_] ) ;
}
Bool_t ZeePlots::CheckCut1Inv ( const pat::Electron ele,
Int_t  i 
) [private]

Definition at line 933 of file ZeePlots.cc.

References CutVars1_, i, InvVars1_, nBarrelVars_, ReturnCandVar(), and pat::Electron::superCluster().

Referenced by CheckCuts1Inverse().

                                                             {

    Double_t fabseta = TMath::Abs(ele->superCluster()->eta());

    if ( fabseta < 1.479 ) {

        if ( InvVars1_[i] ) {
            return ( TMath::Abs(ReturnCandVar(ele, i)) > CutVars1_[i] ) ;
        }

        return ( TMath::Abs(ReturnCandVar(ele, i)) < CutVars1_[i] ) ;

    }

    if ( InvVars1_[i+nBarrelVars_] ) {
        if ( InvVars1_[i] ) {
            return ( TMath::Abs(ReturnCandVar(ele, i)) > CutVars1_[i+nBarrelVars_] ) ;
        }
    }

    return ( TMath::Abs(ReturnCandVar(ele, i)) < CutVars1_[i+nBarrelVars_] ) ;
}
Bool_t ZeePlots::CheckCut2 ( const pat::Electron ele,
Int_t  i 
) [private]

Definition at line 920 of file ZeePlots.cc.

References CutVars2_, i, nBarrelVars_, ReturnCandVar(), and pat::Electron::superCluster().

Referenced by CheckCuts2(), and CheckCuts2NminusOne().

                                                          {

    Double_t fabseta = TMath::Abs(ele->superCluster()->eta());

    if ( fabseta < 1.479 ) {
        return ( TMath::Abs(ReturnCandVar(ele, i)) < CutVars2_[i] ) ;
    }

    return ( TMath::Abs(ReturnCandVar(ele, i)) < CutVars2_[i+nBarrelVars_] ) ;
}
Bool_t ZeePlots::CheckCut2Inv ( const pat::Electron ele,
Int_t  i 
) [private]

Definition at line 957 of file ZeePlots.cc.

References CutVars2_, i, InvVars2_, nBarrelVars_, ReturnCandVar(), and pat::Electron::superCluster().

Referenced by CheckCuts2Inverse().

                                                             {

    Double_t fabseta = TMath::Abs(ele->superCluster()->eta());

    if ( fabseta < 1.479 ) {

        if ( InvVars2_[i] ) {
            return ( TMath::Abs(ReturnCandVar(ele, i)) > CutVars2_[i] ) ;
        }

        return ( TMath::Abs(ReturnCandVar(ele, i)) < CutVars2_[i] ) ;
    }

    if ( InvVars2_[i+nBarrelVars_] ) {
        if ( InvVars2_[i] ) {
            return ( TMath::Abs(ReturnCandVar(ele, i)) > CutVars2_[i+nBarrelVars_] ) ;
        }
    }

    return ( TMath::Abs(ReturnCandVar(ele, i)) < CutVars2_[i+nBarrelVars_] ) ;
}
Bool_t ZeePlots::CheckCuts1 ( const pat::Electron ele) [private]

Definition at line 776 of file ZeePlots.cc.

References CheckCut1(), gather_cfg::cout, pat::Electron::electronID(), i, nBarrelVars_, usePrecalcID1_, usePrecalcIDSign1_, usePrecalcIDType1_, and usePrecalcIDValue1_.

Referenced by analyze().

{
    if ( usePrecalcID1_ ) {

        if ( ! ele-> isElectronIDAvailable(usePrecalcIDType1_) ) {
            std::cout << "Error! not existing ID with name: " << usePrecalcIDType1_ << " function will return true!" << std::endl;
            return true;
        }

        Double_t val = ele->electronID( usePrecalcIDType1_ );

        if ( usePrecalcIDSign1_ == "<" ) {
            return ( val < usePrecalcIDValue1_ ) ;
        }
        else if ( usePrecalcIDSign1_ == ">" ) {
            return ( val > usePrecalcIDValue1_ ) ;
        }
        else { // equality: it returns 0,1,2,3 but as Float_t
            return ( TMath::Abs(val-usePrecalcIDValue1_) < 0.1 );
        }
    }
    else {

        for ( Int_t i = 0; i < nBarrelVars_; ++i ) {
            if ( ! CheckCut1(ele,i) ) {
                return false;
            }
        }

        return true;
    }
}
Bool_t ZeePlots::CheckCuts1Inverse ( const pat::Electron ele) [private]

Definition at line 844 of file ZeePlots.cc.

References CheckCut1Inv(), i, and nBarrelVars_.

{
    for ( Int_t i = 0; i < nBarrelVars_; ++i ) {

        if ( CheckCut1Inv(ele,i) == false ) {
            return false;
        }

    }

    return true;
}
Bool_t ZeePlots::CheckCuts1NminusOne ( const pat::Electron ele,
Int_t  jj 
) [private]

Definition at line 872 of file ZeePlots.cc.

References CheckCut1(), i, and nBarrelVars_.

{
    for ( Int_t i = 0; i < nBarrelVars_ ; ++i ) {

        if ( i == jj ) {
            continue;
        }

        if ( CheckCut1(ele, i) == false ) {
            return false;
        }

    }

    return true;
}
Bool_t ZeePlots::CheckCuts2 ( const pat::Electron ele) [private]

Definition at line 810 of file ZeePlots.cc.

References CheckCut2(), gather_cfg::cout, pat::Electron::electronID(), i, nBarrelVars_, usePrecalcID2_, usePrecalcIDSign2_, usePrecalcIDType2_, and usePrecalcIDValue2_.

Referenced by analyze().

{
    if ( usePrecalcID2_ ) {
        if ( ! ele-> isElectronIDAvailable(usePrecalcIDType2_) ) {
            std::cout << "Error! not existing ID with name: " << usePrecalcIDType2_ << " function will return true!" << std::endl;
            return true;
        }

        Double_t val = ele->electronID( usePrecalcIDType2_ );

        if ( usePrecalcIDSign2_ == "<" ) {
            return ( val < usePrecalcIDValue2_ ) ;
        }
        else if ( usePrecalcIDSign2_  ==  ">" ) {
            return ( val > usePrecalcIDValue2_ ) ;
        }
        else { // equality: it returns 0,1,2,3 but as Float_t
            return ( TMath::Abs(val-usePrecalcIDValue2_) < 0.1 ) ;
        }
    }
    else {

        for ( Int_t i = 0; i < nBarrelVars_; ++i ) {
            if ( ! CheckCut2(ele, i) ) {
                return false;
            }
        }

        return true;
    }
}
Bool_t ZeePlots::CheckCuts2Inverse ( const pat::Electron ele) [private]

Definition at line 858 of file ZeePlots.cc.

References CheckCut2Inv(), i, and nBarrelVars_.

{
    for (Int_t i = 0; i < nBarrelVars_; ++i ) {

        if ( CheckCut2Inv(ele,i) == false ) {
            return false;
        }
    }

    return true;
}
Bool_t ZeePlots::CheckCuts2NminusOne ( const pat::Electron ele,
Int_t  jj 
) [private]

Definition at line 889 of file ZeePlots.cc.

References CheckCut2(), i, and nBarrelVars_.

{
    for ( Int_t i = 0; i < nBarrelVars_; ++i ) {

        if ( i == jj ) {
            continue;
        }

        if ( CheckCut2(ele, i) == false ) {
            return false;
        }
    }

    return true;
}
void ZeePlots::endJob ( void  ) [private, virtual]

Reimplemented from edm::EDAnalyzer.

Definition at line 1519 of file ZeePlots.cc.

References h_e_ETA, h_e_PHI, h_e_PT, h_EB_deta, h_EB_dphi, h_EB_ecaliso, h_EB_hcaliso, h_EB_HoE, h_EB_sIetaIeta, h_EB_trkiso, h_EE_deta, h_EE_dphi, h_EE_ecaliso, h_EE_hcaliso, h_EE_HoE, h_EE_sIetaIeta, h_EE_trkiso, h_mee, h_mee_EBEB, h_mee_EBEE, h_mee_EEEE, h_Zcand_PT, h_Zcand_Y, runonSM::newfile, outputFile_, ZEE_VBTFpreseleFile_, and ZEE_VBTFselectionFile_.

                      {
    TFile * newfile  =  new TFile(TString(outputFile_),"RECREATE");
    //
    // for consistency all the plots are in the root file
    // even though they may be empty (in the case when
    // usePrecalcID_ ==  true inverted and N-1 are empty)

    h_mee->Write();
    h_mee_EBEB->Write();
    h_mee_EBEE->Write();
    h_mee_EEEE->Write();
    h_Zcand_PT->Write();
    h_Zcand_Y->Write();

    h_e_PT->Write();
    h_e_ETA->Write();
    h_e_PHI->Write();

    h_EB_trkiso->Write();
    h_EB_ecaliso->Write();
    h_EB_hcaliso->Write();
    h_EB_sIetaIeta->Write();
    h_EB_dphi->Write();
    h_EB_deta->Write();
    h_EB_HoE->Write();

    h_EE_trkiso->Write();
    h_EE_ecaliso->Write();
    h_EE_hcaliso->Write();
    h_EE_sIetaIeta->Write();
    h_EE_dphi->Write();
    h_EE_deta->Write();
    h_EE_HoE->Write();

    //
    newfile->Close();

    // write the VBTF trees
    //
    ZEE_VBTFpreseleFile_->Write();
    ZEE_VBTFpreseleFile_->Close();

    ZEE_VBTFselectionFile_->Write();
    ZEE_VBTFselectionFile_->Close();

}
void ZeePlots::fillEleClassesPlots ( calib::CalibElectron myEle)

Definition at line 389 of file ZeePlots.cc.

References reco::GsfElectron::classification(), gather_cfg::cout, reco::LeafCandidate::eta(), calib::CalibElectron::getRecoElectron(), h1_occupancyVsEtaCrack_, h1_occupancyVsEtaGold_, h1_occupancyVsEtaShower_, and h1_occupancyVsEtaSilver_.

                                                             {

  int myClass = myEle->getRecoElectron()->classification();

  float myEta = myEle->getRecoElectron()->eta();
  
  if(myClass==0 || myClass==100)
    h1_occupancyVsEtaGold_->Fill(myEta);
  
  std::cout<< "[ZeePlots::fillEleClassesPlots]Done gold"<< std::endl;
  
  if(myClass==40 || myClass==140)
    h1_occupancyVsEtaCrack_->Fill(myEta);
  
  std::cout<< "[ZeePlots::fillEleClassesPlots]Done crack"<< std::endl;
  
  if( (myClass>=30 && myClass<=34) || (myClass>=130 && myClass<=134) )
    h1_occupancyVsEtaShower_->Fill(myEta);
  
  std::cout<< "[ZeePlots::fillEleClassesPlots]Done shower"<< std::endl;
  
  if( myClass==10 || myClass==20 || myClass==110 || myClass ==120)
    h1_occupancyVsEtaSilver_->Fill(myEta);
  
  std::cout<< "[ZeePlots::fillEleClassesPlots]Done"<< std::endl;
  
}
void ZeePlots::fillEleInfo ( const reco::GsfElectronCollection electronCollection)

Definition at line 261 of file ZeePlots.cc.

References file_, h1_nEleReco_, h1_recoEleEnergy_, h1_recoEleEta_, h1_recoElePhi_, and h1_recoElePt_.

Referenced by ZeeCalibration::duringLoop().

                                                                              {

  file_->cd();

  h1_nEleReco_->Fill(electronCollection->size());
  
  for(reco::GsfElectronCollection::const_iterator eleIt = electronCollection->begin();   eleIt != electronCollection->end(); eleIt++)
    {
      
  file_->cd();

      h1_recoEleEnergy_->Fill( eleIt->superCluster()->energy() );
      h1_recoElePt_->Fill( eleIt->pt() );
      h1_recoEleEta_->Fill( eleIt->eta() );
      h1_recoElePhi_->Fill( eleIt->phi() );
      
    }//end loop on electrons   

}
void ZeePlots::fillEleMCInfo ( const HepMC::GenEvent *  myGenEvent)

Definition at line 210 of file ZeePlots.cc.

References abs, file_, h1_mcEle_Energy_, h1_mcEleEta_, h1_mcElePhi_, h1_mcElePt_, and AlCaHLTBitMon_ParallelJobs::p.

Referenced by ZeeCalibration::duringLoop().

                                                              {

  file_->cd();
  
  for ( HepMC::GenEvent::particle_const_iterator p = myGenEvent->particles_begin();
        p != myGenEvent->particles_end(); ++p ) {
    
    if (  abs( (*p)->pdg_id() ) == 11 )
      {
        h1_mcEle_Energy_->Fill( (*p)->momentum().e() );
        h1_mcElePt_->Fill( (*p)->momentum().perp() );
        h1_mcEleEta_->Fill( (*p)->momentum().eta() );
        h1_mcElePhi_->Fill( (*p)->momentum().phi() );
        
      }//matches if (  abs( (*p)->pdg_id() ) == 11 )

  }//end loop over MC particles
  
}
void ZeePlots::fillHLTInfo ( edm::Handle< edm::TriggerResults hltTriggerResultHandle)

Definition at line 341 of file ZeePlots.cc.

References file_, h1_FiredTriggers_, h1_HLT1Electron_FiredEvents_, h1_HLT1Electron_HLT2Electron_FiredEvents_, h1_HLT1Electron_HLT2Electron_HLT2ElectronRelaxed_FiredEvents_, h1_HLT1Electron_HLT2ElectronRelaxed_FiredEvents_, h1_HLT2Electron_FiredEvents_, h1_HLT2Electron_HLT2ElectronRelaxed_FiredEvents_, h1_HLT2ElectronRelaxed_FiredEvents_, h1_HLTVisitedEvents_, and i.

Referenced by ZeeCalibration::duringLoop().

                                                                               {

  file_->cd();
  
  int hltCount = hltTriggerResultHandle->size();

  bool aHLTResults[200] = { false };
    
  for(int i = 0 ; i < hltCount ; i++) {

    aHLTResults[i] = hltTriggerResultHandle->accept(i);
    if(aHLTResults[i])
      h1_FiredTriggers_->Fill(i);

    //HLT bit 32 = HLT1Electron
    //HLT bit 34 = HLT2Electron
    //HLT bit 35 = HLT2ElectronRelaxed

  }

  h1_HLTVisitedEvents_->Fill(1);
    
  if(aHLTResults[32] && !aHLTResults[34] && !aHLTResults[35])
    h1_HLT1Electron_FiredEvents_->Fill(1);

  if(aHLTResults[34] && !aHLTResults[32] && !aHLTResults[35])
    h1_HLT2Electron_FiredEvents_->Fill(1);

  if(aHLTResults[35] && !aHLTResults[32] && !aHLTResults[34])
    h1_HLT2ElectronRelaxed_FiredEvents_->Fill(1);

  if(aHLTResults[32] && aHLTResults[34] && !aHLTResults[35])
    h1_HLT1Electron_HLT2Electron_FiredEvents_->Fill(1);

  if(aHLTResults[32] && aHLTResults[35] && !aHLTResults[34])
    h1_HLT1Electron_HLT2ElectronRelaxed_FiredEvents_->Fill(1);

  if(aHLTResults[34] && aHLTResults[35] && !aHLTResults[32])
    h1_HLT2Electron_HLT2ElectronRelaxed_FiredEvents_->Fill(1);

  if(aHLTResults[32] && aHLTResults[34] && aHLTResults[35])
    h1_HLT1Electron_HLT2Electron_HLT2ElectronRelaxed_FiredEvents_->Fill(1);



}
void ZeePlots::fillZInfo ( std::pair< calib::CalibElectron *, calib::CalibElectron * >  myZeeCandidate)
void ZeePlots::fillZMCInfo ( const HepMC::GenEvent *  myGenEvent)

Definition at line 158 of file ZeePlots.cc.

References file_, h1_gen_ZEta_, h1_gen_ZMass_, h1_gen_ZPhi_, h1_gen_ZPt_, h1_gen_ZRapidity_, funct::log(), and AlCaHLTBitMon_ParallelJobs::p.

Referenced by ZeeCalibration::duringLoop().

                                                            {

  file_->cd();

  for ( HepMC::GenEvent::particle_const_iterator p = myGenEvent->particles_begin();
        p != myGenEvent->particles_end(); ++p ) {//loop over MC particles
 
    if ( (*p)->pdg_id() == 23 && (*p)->status() == 2 ){
      
      h1_gen_ZMass_->Fill( (*p)->momentum().m() );
      h1_gen_ZEta_->Fill( (*p)->momentum().eta() );
      
      float genZ_Y = 0.5 * log ( ( (*p)->momentum().e() + (*p)->momentum().pz() ) /  ( (*p)->momentum().e() - (*p)->momentum().pz() ) )   ;
      
      h1_gen_ZRapidity_->Fill( genZ_Y );
      h1_gen_ZPt_->Fill((*p)->momentum().perp());
      h1_gen_ZPhi_->Fill((*p)->momentum().phi());

      

    }
  }//end loop over MC particles

  return;  
}
void ZeePlots::openFile ( )

Definition at line 54 of file ZeePlots.cc.

References file_.

                       {


  file_ -> cd();

}
Bool_t ZeePlots::PassPreselectionCriteria1 ( const pat::Electron ele) [private]

Definition at line 1049 of file ZeePlots.cc.

References gather_cfg::cout, pat::PATObject< ObjectType >::hasUserInt(), maxNumberOfExpectedMissingHits1_, useConversionRejection1_, useExpectedMissingHits1_, pat::PATObject< ObjectType >::userInt(), and useValidFirstPXBHit1_.

Referenced by analyze().

                                                                 {

    Bool_t passConvRej = true;
    Bool_t passPXB     = true;
    Bool_t passEMH     = true;

    if ( useConversionRejection1_ ) {

        if ( ele->hasUserInt("PassConversionRejection") ) {     //std::cout << "con rej: " << ele->userInt("PassConversionRejection") << std::endl;

            if ( ! (ele->userInt("PassConversionRejection") == 1) ) {
                passConvRej = false;
            }
        }
        else {
            std::cout << "ZeePlots: WARNING: Conversion Rejection Request for electron #1 Disregarded: " << "you must calculate it before " << std::endl;
        }
    }

    if ( useValidFirstPXBHit1_ ) {

        if ( ele->hasUserInt("PassValidFirstPXBHit") ) {    //std::cout << "valid1stPXB: " << ele->userInt("PassValidFirstPXBHit") << std::endl;

            if ( ! (ele->userInt("PassValidFirstPXBHit") == 1) ) {
                passPXB = false;
            }
        }
        else {
            std::cout << "ZeePlots: WARNING: Valid First PXB Hit Request for electron #1 Disregarded: " << "you must calculate it before " << std::endl;
        }
    }

    if ( useExpectedMissingHits1_ ) {

        if ( ele->hasUserInt("NumberOfExpectedMissingHits") ) {     //std::cout << "missing hits: " << ele->userInt("NumberOfExpectedMissingHits") << std::endl;

            if ( ! (ele->userInt("NumberOfExpectedMissingHits") <= maxNumberOfExpectedMissingHits1_) ) {
                passEMH = false;
            }
        }
        else {
            std::cout << "ZeePlots: WARNING: Number of Expected Missing Hits Request for electron #1 Disregarded: " << "you must calculate it before " << std::endl;
        }
    }

    return ( passConvRej && passPXB && passEMH ) ;
}
Bool_t ZeePlots::PassPreselectionCriteria2 ( const pat::Electron ele) [private]

Definition at line 1097 of file ZeePlots.cc.

References gather_cfg::cout, pat::PATObject< ObjectType >::hasUserInt(), maxNumberOfExpectedMissingHits2_, useConversionRejection2_, useExpectedMissingHits2_, pat::PATObject< ObjectType >::userInt(), and useValidFirstPXBHit2_.

Referenced by analyze().

                                                                 {

    Bool_t passConvRej = true;
    Bool_t passPXB     = true;
    Bool_t passEMH     = true;

    if ( useConversionRejection2_ ) {

        if ( ele->hasUserInt("PassConversionRejection") ) {     //std::cout << "con rej: " << ele->userInt("PassConversionRejection") << std::endl;

            if ( ! (ele->userInt("PassConversionRejection") == 1) ) {
                passConvRej = false;
            }
        }
        else {
            std::cout << "ZeePlots: WARNING: Conversion Rejection Request for electron #2 Disregarded: " << "you must calculate it before " << std::endl;
        }
    }

    if ( useValidFirstPXBHit2_ ) {

        if ( ele->hasUserInt("PassValidFirstPXBHit") ) {    //std::cout << "valid1stPXB: " << ele->userInt("PassValidFirstPXBHit") << std::endl;

            if ( ! (ele->userInt("PassValidFirstPXBHit") == 1) ) {
                passPXB = false;
            }
        }
        else {
            std::cout << "ZeePlots: WARNING: Valid First PXB Hit Request for electron #2 Disregarded: " << "you must calculate it before " << std::endl;
        }
    }

    if ( useExpectedMissingHits2_ ) {

        if ( ele->hasUserInt("NumberOfExpectedMissingHits") ) {     //std::cout << "missing hits: " << ele->userInt("NumberOfExpectedMissingHits") << std::endl;

            if ( ! (ele->userInt("NumberOfExpectedMissingHits") <= maxNumberOfExpectedMissingHits2_) ) {
                passEMH = false;
            }
        }
        else {
            std::cout << "ZeePlots: WARNING: Number of Expected Missing Hits Request for electron #2 Disregarded: " << "you must calculate it before " << std::endl;
        }
    }

    return ( passConvRej && passPXB && passEMH ) ;
}
Double_t ZeePlots::ReturnCandVar ( const pat::Electron ele,
Int_t  i 
) [private]

Definition at line 792 of file WenuPlots.cc.

References gather_cfg::cout, pat::Electron::dB(), reco::GsfElectron::deltaEtaSuperClusterTrackAtVtx(), reco::GsfElectron::deltaPhiSuperClusterTrackAtVtx(), reco::GsfElectron::dr03EcalRecHitSumEt(), reco::GsfElectron::dr03HcalTowerSumEt(), reco::GsfElectron::dr03TkSumPt(), pat::EcalIso, reco::GsfElectron::eSuperClusterOverP(), reco::GsfElectron::hadronicOverEm(), pat::HcalIso, reco::GsfElectron::isEB(), max(), reco::GsfElectron::p4(), reco::GsfElectron::scSigmaIEtaIEta(), pat::TrackIso, and pat::Lepton< LeptonType >::userIsolation().

Referenced by analyze(), CheckCut1(), CheckCut1Inv(), CheckCut2(), and CheckCut2Inv().

                                                               {
  if (i==0) return ele->dr03TkSumPt()/ele->p4().Pt();
  else if (i==1) return ele->dr03EcalRecHitSumEt()/ele->p4().Pt();
  else if (i==2) return ele->dr03HcalTowerSumEt()/ele->p4().Pt();
  else if (i==3) return ele->scSigmaIEtaIEta();
  else if (i==4) return ele->deltaPhiSuperClusterTrackAtVtx();
  else if (i==5) return ele->deltaEtaSuperClusterTrackAtVtx();
  else if (i==6) return ele->hadronicOverEm();
  else if (i==7) {
    if (ele->isEB()){
      return ( ele->dr03TkSumPt()+std::max(float(0.),ele->dr03EcalRecHitSumEt()-1)
               + ele->dr03HcalTowerSumEt())/ele->p4().Pt(); }
    else { // pedestal subtraction is only in barrel
      return ( ele->dr03TkSumPt()+ele->dr03EcalRecHitSumEt()
               + ele->dr03HcalTowerSumEt())/ele->p4().Pt(); }
  }
  //  else if (i==8) return ele->gsfTrack()->dxy(bspotPosition_);
  else if (i==8) return fabs(ele->dB());
  else if (i==9) return ele->eSuperClusterOverP();
  else if (i==10) return ele->userIsolation(pat::TrackIso);
  else if (i==11) return ele->userIsolation(pat::EcalIso);
  else if (i==12) return ele->userIsolation(pat::HcalIso);  
  std::cout << "Error in WenuPlots::ReturnCandVar" << std::endl;
  return -1.;

}
void ZeePlots::writeEleClassesPlots ( )
void ZeePlots::writeEleHistograms ( )

Definition at line 283 of file ZeePlots.cc.

References gather_cfg::cout, file_, h1_recoEleEnergy_, h1_recoEleEta_, h1_recoElePhi_, and h1_recoElePt_.

Referenced by ZeeCalibration::endOfJob().

                                 {

  file_->cd();

  std::cout << "Start with ZeePlots::writeEleHistograms(), done file_->cd(); " << std::endl;
 
  h1_recoEleEnergy_->Write();
  h1_recoElePt_->Write();
  h1_recoEleEta_->Write();
  h1_recoElePhi_->Write();

  std::cout << "Done with ZeePlots::writeEleHistograms() " << std::endl;

}
void ZeePlots::writeHLTHistograms ( )
void ZeePlots::writeMCEleHistograms ( )

Definition at line 300 of file ZeePlots.cc.

References gather_cfg::cout, file_, h1_mcEle_Energy_, h1_mcEleEta_, h1_mcElePhi_, and h1_mcElePt_.

Referenced by ZeeCalibration::endOfJob().

                                   {

  file_->cd();

  std::cout << "Start with ZeePlots::writeMCEleHistograms(), done file_->cd(); " << std::endl;

  h1_mcEle_Energy_->Write();
  h1_mcElePt_->Write();
  h1_mcEleEta_->Write();
  h1_mcElePhi_->Write();

  std::cout << "Done with ZeePlots::writeMCEleHistograms() " << std::endl;

}
void ZeePlots::writeMCZHistograms ( )

Definition at line 146 of file ZeePlots.cc.

References file_, h1_gen_ZPhi_, h1_gen_ZPt_, and h1_gen_ZRapidity_.

Referenced by ZeeCalibration::endOfJob().

                                  {

  file_->cd();
  
  h1_gen_ZRapidity_->Write();
  h1_gen_ZPt_->Write();
  h1_gen_ZPhi_->Write();

}
void ZeePlots::writeZHistograms ( )

Definition at line 132 of file ZeePlots.cc.

References file_, h1_reco_ZEta_, h1_reco_ZPhi_, h1_reco_ZPt_, h1_reco_ZRapidity_, and h1_reco_ZTheta_.

Referenced by ZeeCalibration::endOfJob().

                                {

  file_->cd();

  h1_reco_ZEta_->Write();
  h1_reco_ZTheta_->Write();
  h1_reco_ZRapidity_->Write();
  h1_reco_ZPhi_->Write();
  h1_reco_ZPt_->Write();
  
}

Member Data Documentation

Float_t ZeePlots::calojet_et[5] [private]

Definition at line 280 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::calojet_eta[5] [private]

Definition at line 281 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::calojet_phi[5] [private]

Definition at line 282 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Definition at line 94 of file ZeePlots.h.

Referenced by analyze(), and ZeePlots().

Double_t ZeePlots::cIso1_EB_ [private]

Definition at line 177 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::cIso1_EB_inv [private]

Definition at line 193 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::cIso1_EE_ [private]

Definition at line 177 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::cIso1_EE_inv [private]

Definition at line 193 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::cIso2_EB_ [private]

Definition at line 210 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::cIso2_EB_inv [private]

Definition at line 226 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::cIso2_EE_ [private]

Definition at line 210 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::cIso2_EE_inv [private]

Definition at line 226 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

std::vector<Double_t> ZeePlots::CutVars1_ [private]

Definition at line 236 of file ZeePlots.h.

Referenced by beginJob(), CheckCut1(), and CheckCut1Inv().

std::vector<Double_t> ZeePlots::CutVars2_ [private]

Definition at line 237 of file ZeePlots.h.

Referenced by beginJob(), CheckCut2(), and CheckCut2Inv().

Int_t ZeePlots::DatasetTag_ [private]

Definition at line 300 of file ZeePlots.h.

Referenced by analyze(), and ZeePlots().

Double_t ZeePlots::deta1_EB_ [private]

Definition at line 175 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::deta1_EB_inv [private]

Definition at line 191 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::deta1_EE_ [private]

Definition at line 175 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::deta1_EE_inv [private]

Definition at line 191 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::deta2_EB_ [private]

Definition at line 208 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::deta2_EB_inv [private]

Definition at line 224 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::deta2_EE_ [private]

Definition at line 208 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::deta2_EE_inv [private]

Definition at line 224 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::dphi1_EB_ [private]

Definition at line 174 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::dphi1_EB_inv [private]

Definition at line 190 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::dphi1_EE_ [private]

Definition at line 174 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::dphi1_EE_inv [private]

Definition at line 190 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::dphi2_EB_ [private]

Definition at line 207 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::dphi2_EB_inv [private]

Definition at line 223 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::dphi2_EE_ [private]

Definition at line 207 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::dphi2_EE_inv [private]

Definition at line 223 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::DRJetFromElectron_ [private]

Definition at line 299 of file ZeePlots.h.

Referenced by analyze(), and ZeePlots().

Double_t ZeePlots::ecalIso1_EB_ [private]

Definition at line 170 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::ecalIso1_EB_inv [private]

Definition at line 186 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::ecalIso1_EE_ [private]

Definition at line 170 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::ecalIso1_EE_inv [private]

Definition at line 186 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::ecalIso2_EB_ [private]

Definition at line 203 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::ecalIso2_EB_inv [private]

Definition at line 219 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::ecalIso2_EE_ [private]

Definition at line 203 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::ecalIso2_EE_inv [private]

Definition at line 219 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::ecalIsoUser1_EB_ [private]

Definition at line 182 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Definition at line 198 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::ecalIsoUser1_EE_ [private]

Definition at line 182 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Definition at line 198 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::ecalIsoUser2_EB_ [private]

Definition at line 215 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Definition at line 231 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::ecalIsoUser2_EE_ [private]

Definition at line 215 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Definition at line 231 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Float_t ZeePlots::ele1_cand_et [private]

Definition at line 251 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_cand_eta [private]

Definition at line 251 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_cand_phi [private]

Definition at line 251 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_cr_dcot [private]

Definition at line 254 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_cr_dist [private]

Definition at line 254 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_cr_mhitsinner [private]

Definition at line 254 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Int_t ZeePlots::ele1_ctfCharge [private]

Definition at line 259 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_eop [private]

Definition at line 260 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Int_t ZeePlots::ele1_gsfCharge [private]

Definition at line 259 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_id_deta [private]

Definition at line 253 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_id_dphi [private]

Definition at line 253 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_id_hoe [private]

Definition at line 253 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_id_sihih [private]

Definition at line 253 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_iso_ecal [private]

Definition at line 252 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_iso_hcal [private]

Definition at line 252 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_iso_track [private]

Definition at line 252 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_sc_energy [private]

Definition at line 249 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_sc_eta [private]

Definition at line 249 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_sc_gsf_et [private]

Definition at line 250 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_sc_phi [private]

Definition at line 249 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Int_t ZeePlots::ele1_scPixCharge [private]

Definition at line 259 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_tip_bs [private]

Definition at line 260 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_tip_pv [private]

Definition at line 260 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_vx [private]

Definition at line 255 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_vy [private]

Definition at line 255 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele1_vz [private]

Definition at line 255 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_cand_et [private]

Definition at line 264 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_cand_eta [private]

Definition at line 264 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_cand_phi [private]

Definition at line 264 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_cr_dcot [private]

Definition at line 267 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_cr_dist [private]

Definition at line 267 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_cr_mhitsinner [private]

Definition at line 267 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Int_t ZeePlots::ele2_ctfCharge [private]

Definition at line 272 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_eop [private]

Definition at line 273 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Int_t ZeePlots::ele2_gsfCharge [private]

Definition at line 272 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_id_deta [private]

Definition at line 266 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_id_dphi [private]

Definition at line 266 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_id_hoe [private]

Definition at line 266 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_id_sihih [private]

Definition at line 266 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_iso_ecal [private]

Definition at line 265 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_iso_hcal [private]

Definition at line 265 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_iso_track [private]

Definition at line 265 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_sc_energy [private]

Definition at line 262 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_sc_eta [private]

Definition at line 262 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_sc_gsf_et [private]

Definition at line 263 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_sc_phi [private]

Definition at line 262 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Int_t ZeePlots::ele2_scPixCharge [private]

Definition at line 272 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_tip_bs [private]

Definition at line 273 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_tip_pv [private]

Definition at line 273 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_vx [private]

Definition at line 268 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_vy [private]

Definition at line 268 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::ele2_vz [private]

Definition at line 268 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Double_t ZeePlots::eop1_EB_ [private]

Definition at line 179 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::eop1_EB_inv [private]

Definition at line 195 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::eop1_EE_ [private]

Definition at line 179 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::eop1_EE_inv [private]

Definition at line 195 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::eop2_EB_ [private]

Definition at line 212 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::eop2_EB_inv [private]

Definition at line 228 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::eop2_EE_ [private]

Definition at line 212 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::eop2_EE_inv [private]

Definition at line 228 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Float_t ZeePlots::event_caloMET [private]

Definition at line 275 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::event_caloMET_phi [private]

Definition at line 276 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Int_t ZeePlots::event_datasetTag [private]

Definition at line 287 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::event_Mee [private]

Definition at line 278 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::event_pfMET [private]

Definition at line 275 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::event_pfMET_phi [private]

Definition at line 276 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::event_tcMET [private]

Definition at line 275 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::event_tcMET_phi [private]

Definition at line 276 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Long64_t ZeePlots::eventNumber [private]

Definition at line 247 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

TFile* ZeePlots::file_ [private]
const char* ZeePlots::fileName_ [private]

Definition at line 84 of file ZeePlots.h.

Referenced by ZeePlots().

TH1F* ZeePlots::h1_FiredTriggers_ [private]

Definition at line 92 of file ZeePlots.h.

Referenced by bookHLTHistograms(), and fillHLTInfo().

TH1F* ZeePlots::h1_gen_ZEta_ [private]

Definition at line 88 of file ZeePlots.h.

Referenced by bookZMCHistograms(), and fillZMCInfo().

TH1F* ZeePlots::h1_gen_ZMass_ [private]

Definition at line 86 of file ZeePlots.h.

Referenced by bookZMCHistograms(), and fillZMCInfo().

TH1F* ZeePlots::h1_gen_ZPhi_ [private]

Definition at line 89 of file ZeePlots.h.

Referenced by bookZMCHistograms(), fillZMCInfo(), and writeMCZHistograms().

TH1F* ZeePlots::h1_gen_ZPt_ [private]

Definition at line 90 of file ZeePlots.h.

Referenced by bookZMCHistograms(), fillZMCInfo(), and writeMCZHistograms().

TH1F* ZeePlots::h1_gen_ZRapidity_ [private]

Definition at line 87 of file ZeePlots.h.

Referenced by bookZMCHistograms(), fillZMCInfo(), and writeMCZHistograms().

Definition at line 93 of file ZeePlots.h.

Referenced by bookHLTHistograms(), and fillHLTInfo().

Definition at line 96 of file ZeePlots.h.

Referenced by bookHLTHistograms(), and fillHLTInfo().

Definition at line 99 of file ZeePlots.h.

Referenced by bookHLTHistograms(), and fillHLTInfo().

Definition at line 97 of file ZeePlots.h.

Referenced by bookHLTHistograms(), and fillHLTInfo().

Definition at line 94 of file ZeePlots.h.

Referenced by bookHLTHistograms(), and fillHLTInfo().

Definition at line 98 of file ZeePlots.h.

Referenced by bookHLTHistograms(), and fillHLTInfo().

Definition at line 95 of file ZeePlots.h.

Referenced by bookHLTHistograms(), and fillHLTInfo().

Definition at line 100 of file ZeePlots.h.

Referenced by bookHLTHistograms(), and fillHLTInfo().

TH1F* ZeePlots::h1_mcEle_Energy_ [private]

Definition at line 102 of file ZeePlots.h.

Referenced by bookEleMCHistograms(), fillEleMCInfo(), and writeMCEleHistograms().

TH1F* ZeePlots::h1_mcEleEta_ [private]

Definition at line 104 of file ZeePlots.h.

Referenced by bookEleMCHistograms(), fillEleMCInfo(), and writeMCEleHistograms().

TH1F* ZeePlots::h1_mcElePhi_ [private]

Definition at line 105 of file ZeePlots.h.

Referenced by bookEleMCHistograms(), fillEleMCInfo(), and writeMCEleHistograms().

TH1F* ZeePlots::h1_mcElePt_ [private]

Definition at line 103 of file ZeePlots.h.

Referenced by bookEleMCHistograms(), fillEleMCInfo(), and writeMCEleHistograms().

TH1F* ZeePlots::h1_nEleReco_ [private]

Definition at line 111 of file ZeePlots.h.

Referenced by bookEleHistograms(), and fillEleInfo().

Definition at line 122 of file ZeePlots.h.

Referenced by bookEleClassesPlots(), fillEleClassesPlots(), and writeEleClassesPlots().

Definition at line 120 of file ZeePlots.h.

Referenced by bookEleClassesPlots(), fillEleClassesPlots(), and writeEleClassesPlots().

Definition at line 123 of file ZeePlots.h.

Referenced by bookEleClassesPlots(), fillEleClassesPlots(), and writeEleClassesPlots().

Definition at line 121 of file ZeePlots.h.

Referenced by bookEleClassesPlots(), fillEleClassesPlots(), and writeEleClassesPlots().

TH1F* ZeePlots::h1_reco_ZEta_ [private]

Definition at line 114 of file ZeePlots.h.

Referenced by bookZHistograms(), fillZInfo(), and writeZHistograms().

TH1F* ZeePlots::h1_reco_ZPhi_ [private]

Definition at line 117 of file ZeePlots.h.

Referenced by bookZHistograms(), fillZInfo(), and writeZHistograms().

TH1F* ZeePlots::h1_reco_ZPt_ [private]

Definition at line 118 of file ZeePlots.h.

Referenced by bookZHistograms(), fillZInfo(), and writeZHistograms().

Definition at line 116 of file ZeePlots.h.

Referenced by bookZHistograms(), fillZInfo(), and writeZHistograms().

TH1F* ZeePlots::h1_reco_ZTheta_ [private]

Definition at line 115 of file ZeePlots.h.

Referenced by bookZHistograms(), fillZInfo(), and writeZHistograms().

TH1F* ZeePlots::h1_recoEleEnergy_ [private]

Definition at line 107 of file ZeePlots.h.

Referenced by bookEleHistograms(), fillEleInfo(), and writeEleHistograms().

TH1F* ZeePlots::h1_recoEleEta_ [private]

Definition at line 109 of file ZeePlots.h.

Referenced by bookEleHistograms(), fillEleInfo(), and writeEleHistograms().

TH1F* ZeePlots::h1_recoElePhi_ [private]

Definition at line 110 of file ZeePlots.h.

Referenced by bookEleHistograms(), fillEleInfo(), and writeEleHistograms().

TH1F* ZeePlots::h1_recoElePt_ [private]

Definition at line 108 of file ZeePlots.h.

Referenced by bookEleHistograms(), fillEleInfo(), and writeEleHistograms().

TH1F* ZeePlots::h_e_ETA [private]

Definition at line 108 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_e_PHI [private]

Definition at line 109 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_e_PT [private]

Definition at line 107 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_EB_deta [private]

Definition at line 116 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_EB_dphi [private]

Definition at line 115 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_EB_ecaliso [private]

Definition at line 112 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_EB_hcaliso [private]

Definition at line 113 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_EB_HoE [private]

Definition at line 117 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_EB_sIetaIeta [private]

Definition at line 114 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_EB_trkiso [private]

Definition at line 111 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_EE_deta [private]

Definition at line 124 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_EE_dphi [private]

Definition at line 123 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_EE_ecaliso [private]

Definition at line 120 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_EE_hcaliso [private]

Definition at line 121 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_EE_HoE [private]

Definition at line 125 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_EE_sIetaIeta [private]

Definition at line 122 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_EE_trkiso [private]

Definition at line 119 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_mee [private]

Definition at line 100 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_mee_EBEB [private]

Definition at line 101 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_mee_EBEE [private]

Definition at line 102 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_mee_EEEE [private]

Definition at line 103 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

Definition at line 128 of file ZeePlots.h.

Definition at line 129 of file ZeePlots.h.

TH1F* ZeePlots::h_Zcand_PT [private]

Definition at line 104 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

TH1F* ZeePlots::h_Zcand_Y [private]

Definition at line 105 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and endJob().

Double_t ZeePlots::hcalIso1_EB_ [private]

Definition at line 171 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::hcalIso1_EB_inv [private]

Definition at line 187 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::hcalIso1_EE_ [private]

Definition at line 171 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::hcalIso1_EE_inv [private]

Definition at line 187 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::hcalIso2_EB_ [private]

Definition at line 204 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::hcalIso2_EB_inv [private]

Definition at line 220 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::hcalIso2_EE_ [private]

Definition at line 204 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::hcalIso2_EE_inv [private]

Definition at line 220 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::hcalIsoUser1_EB_ [private]

Definition at line 183 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Definition at line 199 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::hcalIsoUser1_EE_ [private]

Definition at line 183 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Definition at line 199 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::hcalIsoUser2_EB_ [private]

Definition at line 216 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Definition at line 232 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::hcalIsoUser2_EE_ [private]

Definition at line 216 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Definition at line 232 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

TFile* ZeePlots::histofile [private]

Definition at line 97 of file ZeePlots.h.

Double_t ZeePlots::hoe1_EB_ [private]

Definition at line 176 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::hoe1_EB_inv [private]

Definition at line 192 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::hoe1_EE_ [private]

Definition at line 176 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::hoe1_EE_inv [private]

Definition at line 192 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::hoe2_EB_ [private]

Definition at line 209 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::hoe2_EB_inv [private]

Definition at line 225 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::hoe2_EE_ [private]

Definition at line 209 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::hoe2_EE_inv [private]

Definition at line 225 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Definition at line 298 of file ZeePlots.h.

Referenced by analyze(), beginJob(), and ZeePlots().

std::vector<Bool_t> ZeePlots::InvVars1_ [private]

Definition at line 239 of file ZeePlots.h.

Referenced by beginJob(), and CheckCut1Inv().

std::vector<Bool_t> ZeePlots::InvVars2_ [private]

Definition at line 240 of file ZeePlots.h.

Referenced by beginJob(), and CheckCut2Inv().

Int_t ZeePlots::lumiSection [private]

Definition at line 245 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Definition at line 83 of file ZeePlots.h.

Referenced by PassPreselectionCriteria1(), and ZeePlots().

Definition at line 89 of file ZeePlots.h.

Referenced by PassPreselectionCriteria2(), and ZeePlots().

Int_t ZeePlots::nBarrelVars_ [private]
std::string ZeePlots::outputFile_ [private]

Definition at line 92 of file ZeePlots.h.

Referenced by endJob(), and ZeePlots().

Float_t ZeePlots::pfjet_et[5] [private]

Definition at line 283 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::pfjet_eta[5] [private]

Definition at line 284 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::pfjet_phi[5] [private]

Definition at line 285 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Definition at line 95 of file ZeePlots.h.

Referenced by analyze(), and ZeePlots().

Float_t ZeePlots::pv_x1 [private]

Definition at line 257 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::pv_x2 [private]

Definition at line 270 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::pv_y1 [private]

Definition at line 257 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::pv_y2 [private]

Definition at line 270 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::pv_z1 [private]

Definition at line 257 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Float_t ZeePlots::pv_z2 [private]

Definition at line 270 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Int_t ZeePlots::runNumber [private]

Definition at line 245 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Double_t ZeePlots::sihih1_EB_ [private]

Definition at line 173 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::sihih1_EB_inv [private]

Definition at line 189 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::sihih1_EE_ [private]

Definition at line 173 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::sihih1_EE_inv [private]

Definition at line 189 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::sihih2_EB_ [private]

Definition at line 206 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::sihih2_EB_inv [private]

Definition at line 222 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::sihih2_EE_ [private]

Definition at line 206 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::sihih2_EE_inv [private]

Definition at line 222 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::tip_bspot1_EB_ [private]

Definition at line 178 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::tip_bspot1_EB_inv [private]

Definition at line 194 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::tip_bspot1_EE_ [private]

Definition at line 178 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::tip_bspot1_EE_inv [private]

Definition at line 194 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::tip_bspot2_EB_ [private]

Definition at line 211 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::tip_bspot2_EB_inv [private]

Definition at line 227 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::tip_bspot2_EE_ [private]

Definition at line 211 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::tip_bspot2_EE_inv [private]

Definition at line 227 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::trackIso1_EB_ [private]

Definition at line 169 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::trackIso1_EB_inv [private]

Definition at line 185 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::trackIso1_EE_ [private]

Definition at line 169 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::trackIso1_EE_inv [private]

Definition at line 185 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::trackIso2_EB_ [private]

Definition at line 202 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::trackIso2_EB_inv [private]

Definition at line 218 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::trackIso2_EE_ [private]

Definition at line 202 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Bool_t ZeePlots::trackIso2_EE_inv [private]

Definition at line 218 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::trackIsoUser1_EB_ [private]

Definition at line 181 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Definition at line 197 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::trackIsoUser1_EE_ [private]

Definition at line 181 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Definition at line 197 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::trackIsoUser2_EB_ [private]

Definition at line 214 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Definition at line 230 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Double_t ZeePlots::trackIsoUser2_EE_ [private]

Definition at line 214 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Definition at line 230 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Definition at line 81 of file ZeePlots.h.

Referenced by PassPreselectionCriteria1(), and ZeePlots().

Definition at line 87 of file ZeePlots.h.

Referenced by PassPreselectionCriteria2(), and ZeePlots().

Definition at line 82 of file ZeePlots.h.

Referenced by PassPreselectionCriteria1(), and ZeePlots().

Definition at line 88 of file ZeePlots.h.

Referenced by PassPreselectionCriteria2(), and ZeePlots().

Bool_t ZeePlots::usePrecalcID1_ [private]

Definition at line 68 of file ZeePlots.h.

Referenced by CheckCuts1(), and ZeePlots().

Bool_t ZeePlots::usePrecalcID2_ [private]

Definition at line 73 of file ZeePlots.h.

Referenced by CheckCuts2(), and ZeePlots().

std::string ZeePlots::usePrecalcIDSign1_ [private]

Definition at line 69 of file ZeePlots.h.

Referenced by CheckCuts1(), and ZeePlots().

std::string ZeePlots::usePrecalcIDSign2_ [private]

Definition at line 74 of file ZeePlots.h.

Referenced by CheckCuts2(), and ZeePlots().

std::string ZeePlots::usePrecalcIDType1_ [private]

Definition at line 70 of file ZeePlots.h.

Referenced by CheckCuts1(), and ZeePlots().

std::string ZeePlots::usePrecalcIDType2_ [private]

Definition at line 75 of file ZeePlots.h.

Referenced by CheckCuts2(), and ZeePlots().

Double_t ZeePlots::usePrecalcIDValue1_ [private]

Definition at line 71 of file ZeePlots.h.

Referenced by CheckCuts1(), and ZeePlots().

Double_t ZeePlots::usePrecalcIDValue2_ [private]

Definition at line 76 of file ZeePlots.h.

Referenced by CheckCuts2(), and ZeePlots().

Bool_t ZeePlots::usePreselection1_ [private]

Definition at line 79 of file ZeePlots.h.

Referenced by analyze(), and ZeePlots().

Bool_t ZeePlots::usePreselection2_ [private]

Definition at line 85 of file ZeePlots.h.

Referenced by analyze(), and ZeePlots().

Definition at line 65 of file ZeePlots.h.

Referenced by ZeePlots().

Definition at line 80 of file ZeePlots.h.

Referenced by PassPreselectionCriteria1(), and ZeePlots().

Definition at line 86 of file ZeePlots.h.

Referenced by PassPreselectionCriteria2(), and ZeePlots().

TTree* ZeePlots::vbtfPresele_tree [private]

Definition at line 293 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

TTree* ZeePlots::vbtfSele_tree [private]

Definition at line 292 of file ZeePlots.h.

Referenced by analyze(), and beginJob().

Definition at line 289 of file ZeePlots.h.

Referenced by beginJob(), and endJob().

std::string ZeePlots::ZEE_VBTFpreseleFileName_ [private]

Definition at line 296 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Definition at line 290 of file ZeePlots.h.

Referenced by beginJob(), and endJob().

std::string ZeePlots::ZEE_VBTFselectionFileName_ [private]

Definition at line 295 of file ZeePlots.h.

Referenced by beginJob(), and ZeePlots().

Definition at line 93 of file ZeePlots.h.

Referenced by analyze(), and ZeePlots().