////////////////////////////////////////////////////////// // This class has been automatically generated // (Fri Nov 8 15:35:52 2002 by ROOT version3.03/07) // from TTree cdfsim/cdfsim // found on file: /data/dukpc11/a/mcdata/top/dilepton/WW/dukehkg_cafmcpythia10-14670.root ////////////////////////////////////////////////////////// #ifndef ww_lepton_id_h #define ww_lepton_id_h #include #include #include #include #include #include #include #include #include "histoLeptonId.h" #include "Jet/JetEnergyCorrections.hh" //#include //#include //#include const Double_t PI = 3.14159265358979323846; const Double_t Pi = 3.14159265358979323846; const Double_t DEGRAD = PI/180.; const Float_t RADTODEG = 57.29; const Float_t BRWW = 0.105; const Int_t NLEPT=2; const Int_t MAXWW=9; const Int_t MAXttbar=16; const Int_t MAXll=10; const Int_t MAXLEPTON=100; const Int_t TOWER_NETA = 52; const Float_t TOWER_THETA[TOWER_NETA/2+1] = { // Mini plug region 0.46831, 0.94304, 1.40681, 2.09858, // Plug region 3.000, 5.700, 8.400, 11.100, 13.800, 16.500, 19.200, 21.900, 24.600, 27.300, 30.000, 33.524, // Central region 36.822, 40.261, 43.614, 47.436, 51.790, 56.735, 62.310, 68.516, 75.297, 82.526, 90.000 }; const Bool_t useJetCorr = true; const Bool_t isData = false; const Bool_t isMC = true; const Bool_t iswwCan = false; const Bool_t isttbarCan = true; const Bool_t is1jetCan = false; const Bool_t isMCWW = false; const Bool_t isMCttbar = false; const Bool_t isMCZee = false; const Bool_t isMCZmumu = false; const Bool_t isMCZtautau = false; const Bool_t isSignalWW = false; const Bool_t isSignalttbar = true; const Bool_t EventComputeAcceptance=true; const Bool_t EventComputeAcceptanceEE=true; const Bool_t EventComputeAcceptanceEMU=true; const Bool_t EventComputeAcceptanceMUMU=true; Int_t eeCandidateRunN[150]; Int_t eeCandidateEventN[150]; Int_t emuCandidateRunN[150]; Int_t emuCandidateEventN[150]; Int_t mumuCandidateRunN[150]; Int_t mumuCandidateEventN[150]; Int_t emuIDeventsRunN[7000]; Int_t emuIDeventsEvtN[7000]; Int_t eePassDupRunN[7000]; Int_t eePassDupEvtN[7000]; Int_t mumuPassDupRunN[7000]; Int_t mumuPassDupEvtN[7000]; Int_t emuPassDupRunN[7000]; Int_t emuPassDupEvtN[7000]; Int_t mumuPassDupRunN10[7000]; Int_t mumuPassDupEvtN10[7000]; Int_t mumuPassDupRunN11[7000]; Int_t mumuPassDupEvtN11[7000]; Int_t mumuPassDupRunN12[7000]; Int_t mumuPassDupEvtN12[7000]; Int_t mumuPassDupRunN13[7000]; Int_t mumuPassDupEvtN13[7000]; Int_t mumuPassDupRunN14[7000]; Int_t mumuPassDupEvtN14[7000]; Int_t mumuPassDupRunN15[7000]; Int_t mumuPassDupEvtN15[7000]; Int_t mumuPassDupRunN16[7000]; Int_t mumuPassDupEvtN16[7000]; Int_t mumuPassDupRunN17[7000]; Int_t mumuPassDupEvtN17[7000]; Int_t mumuPassDupRunN18[7000]; Int_t mumuPassDupEvtN18[7000]; Int_t mumuPassDupRunN19[7000]; Int_t mumuPassDupEvtN19[7000]; Int_t emuPassDupRunN20[7000]; Int_t emuPassDupEvtN20[7000]; Int_t emuPassDupRunN21[7000]; Int_t emuPassDupEvtN21[7000]; Int_t emuPassDupRunN22[7000]; Int_t emuPassDupEvtN22[7000]; Int_t emuPassDupRunN23[7000]; Int_t emuPassDupEvtN23[7000]; //typedef std::set< char, std::less< char > > allrunevset; //typedef std::set< char, std::less< char > >::iterator itsetk; class ww_lepton_id { public : TTree *fChain; //!pointer to the analyzed TTree or TChain Int_t fCurrent; //!current Tree number in a TChain // //Global counters: // Int_t Ilplus; Int_t Ilminus; Int_t Inuplus; Int_t Inuminus; // Int_t Nhepge; Int_t Nhepgce; // Int_t Nhepgmu; // Int_t Nhepgmumu; Int_t Nhepgemu; Int_t Nhepgee; Int_t Nhepgetau; Int_t Nhepgmutau; Int_t Nhepgtautau; // Int_t NMCe[11]; Int_t NMCmu[12]; // Int_t IevAna; Int_t IFileAna; // Bool_t TriLepCandidate; //pointer to the histogram stucture histoLeptonId::Hist_t* hww; // //Declaration of leaves types // Int_t CESCLST_ncesclst; Float_t CESCLST_ces_width[300]; //[ncesclst] Short_t CESCLST_ces_module[300]; //[ncesclst] Short_t CESCLST_ces_packedChi[300]; //[ncesclst] Short_t CESCLST_ces_packedE[300]; //[ncesclst] Short_t CESCLST_ces_packedGlobalCoor[300]; //[ncesclst] Short_t CESCLST_ces_packedLocalCoor[300]; //[ncesclst] Short_t CESCLST_ces_seedType[300]; //[ncesclst] UChar_t CESCLST_ces_barrel[300]; //[ncesclst] UChar_t CESCLST_ces_exceededLimit; UChar_t CESCLST_ces_view[300]; //[ncesclst] Int_t COSMIC_nCosmic; Float_t COSMIC_cosmic_best_diCosmic_chi2[10]; //[nCosmic] Float_t COSMIC_cosmic_best_diCosmic_cot[10]; //[nCosmic] Float_t COSMIC_cosmic_best_diCosmic_crudet0[10]; //[nCosmic] Float_t COSMIC_cosmic_best_diCosmic_curv[10]; //[nCosmic] Float_t COSMIC_cosmic_best_diCosmic_d0[10]; //[nCosmic] Float_t COSMIC_cosmic_best_diCosmic_deltaChi2[10]; //[nCosmic] Float_t COSMIC_cosmic_best_diCosmic_phi0[10]; //[nCosmic] Float_t COSMIC_cosmic_best_diCosmic_t0[10]; //[nCosmic] Float_t COSMIC_cosmic_best_diCosmic_t0err[10]; //[nCosmic] Float_t COSMIC_cosmic_best_diCosmic_z0[10]; //[nCosmic] Float_t COSMIC_cosmic_best_oppTrk_chi2[10]; //[nCosmic] Float_t COSMIC_cosmic_best_oppTrk_cot[10]; //[nCosmic] Float_t COSMIC_cosmic_best_oppTrk_crudet0[10]; //[nCosmic] Float_t COSMIC_cosmic_best_oppTrk_curv[10]; //[nCosmic] Float_t COSMIC_cosmic_best_oppTrk_d0[10]; //[nCosmic] Float_t COSMIC_cosmic_best_oppTrk_deltaChi2[10]; //[nCosmic] Float_t COSMIC_cosmic_best_oppTrk_phi0[10]; //[nCosmic] Float_t COSMIC_cosmic_best_oppTrk_t0[10]; //[nCosmic] Float_t COSMIC_cosmic_best_oppTrk_t0err[10]; //[nCosmic] Float_t COSMIC_cosmic_best_oppTrk_z0[10]; //[nCosmic] Float_t COSMIC_cosmic_best_seedTrk_chi2[10]; //[nCosmic] Float_t COSMIC_cosmic_best_seedTrk_cot[10]; //[nCosmic] Float_t COSMIC_cosmic_best_seedTrk_crudet0[10]; //[nCosmic] Float_t COSMIC_cosmic_best_seedTrk_curv[10]; //[nCosmic] Float_t COSMIC_cosmic_best_seedTrk_d0[10]; //[nCosmic] Float_t COSMIC_cosmic_best_seedTrk_deltaChi2[10]; //[nCosmic] Float_t COSMIC_cosmic_best_seedTrk_phi0[10]; //[nCosmic] Float_t COSMIC_cosmic_best_seedTrk_t0[10]; //[nCosmic] Float_t COSMIC_cosmic_best_seedTrk_t0err[10]; //[nCosmic] Float_t COSMIC_cosmic_best_seedTrk_z0[10]; //[nCosmic] Short_t COSMIC_cosmic_assTrk[10]; //[nCosmic] Short_t COSMIC_cosmic_best_diCosmic_numHits[10]; //[nCosmic] Short_t COSMIC_cosmic_best_diCosmic_numHitsSL[10][8]; //[nCosmic] Short_t COSMIC_cosmic_best_diCosmic_type[10]; //[nCosmic] Short_t COSMIC_cosmic_best_oppTrk_numHits[10]; //[nCosmic] Short_t COSMIC_cosmic_best_oppTrk_numHitsSL[10][8]; //[nCosmic] Short_t COSMIC_cosmic_best_seedTrk_numHits[10]; //[nCosmic] Short_t COSMIC_cosmic_best_seedTrk_numHitsSL[10][8]; //[nCosmic] UChar_t COSMIC_cosmic_best_diCosmic_status[10]; //[nCosmic] UChar_t COSMIC_cosmic_best_oppTrk_outgoing[10]; //[nCosmic] UChar_t COSMIC_cosmic_best_oppTrk_status[10]; //[nCosmic] UChar_t COSMIC_cosmic_best_seedTrk_outgoing[10]; //[nCosmic] UChar_t COSMIC_cosmic_best_seedTrk_status[10]; //[nCosmic] UChar_t COSMIC_cosmic_exceededLimit; UChar_t COSMIC_cosmic_oppTrk_restoreOk[10]; //[nCosmic] UChar_t COSMIC_cosmic_seedTrk_restoreOk[10]; //[nCosmic] Int_t COSMICRES_nCosmicRes; Float_t COSMICRES_cosres_best_diCosmicDeltaD[10][192]; //[nCosmicRes] Float_t COSMICRES_cosres_best_diCosmicDeltaY[10][192]; //[nCosmicRes] Float_t COSMICRES_cosres_best_diCosmicHitD[10][192]; //[nCosmicRes] Float_t COSMICRES_cosres_best_diCosmicHitT[10][192]; //[nCosmicRes] Float_t COSMICRES_cosres_best_diCosmicHitWidth[10][192]; //[nCosmicRes] Float_t COSMICRES_cosres_best_diCosmicSinAspect[10][192]; //[nCosmicRes] Float_t COSMICRES_cosres_best_diCosmicTrackY[10][192]; //[nCosmicRes] Short_t COSMICRES_cosres_AssCosmic[10]; //[nCosmicRes] Short_t COSMICRES_cosres_best_diCosmicCellNum[10][192]; //[nCosmicRes] UChar_t COSMICRES_cosres_exceededLimit; Int_t COTNBC_ncotnbc; Float_t COTNBC_cotnbc_chi2[200]; //[ncotnbc] Float_t COTNBC_cotnbc_cotTheta[200]; //[ncotnbc] Float_t COTNBC_cotnbc_curv[200]; //[ncotnbc] Float_t COTNBC_cotnbc_d0[200]; //[ncotnbc] Float_t COTNBC_cotnbc_phi[200]; //[ncotnbc] Float_t COTNBC_cotnbc_z0[200]; //[ncotnbc] Short_t COTNBC_cotnbc_assTrk[200]; //[ncotnbc] Short_t COTNBC_cotnbc_seedSL[200]; //[ncotnbc] UChar_t COTNBC_cotnbc_exceededLimit; Int_t COTTIME_nCot; Float_t COTTIME_cottime_nonbc_Chi22DBetaInvt0[100]; //[nCot] Float_t COTTIME_cottime_nonbc_Chi2t0[100]; //[nCot] Float_t COTTIME_cottime_nonbc_Cov2DBetaInvt0[100]; //[nCot] Float_t COTTIME_cottime_nonbc_Delta2DBetaInv[100]; //[nCot] Float_t COTTIME_cottime_nonbc_Delta2Dt0[100]; //[nCot] Float_t COTTIME_cottime_nonbc_Deltat0[100]; //[nCot] Float_t COTTIME_cottime_nonbc_MinChi22DBetaInv[100]; //[nCot] Float_t COTTIME_cottime_nonbc_MinChi22Dt0[100]; //[nCot] Float_t COTTIME_cottime_nonbc_MinChi2t0[100]; //[nCot] Float_t COTTIME_cottime_nonbc_deltaBetaInv[100]; //[nCot] Float_t COTTIME_cottime_nonbc_minChi2BetaInv[100]; //[nCot] Short_t COTTIME_cottime_assTrk[100]; //[nCot] Short_t COTTIME_cottime_nonbc_NWiresBetaInvt0[100]; //[nCot] Short_t COTTIME_cottime_nonbc_NWirest0[100]; //[nCot] UChar_t COTTIME_cottime_exceededLimit; Int_t CPR_nCpr; Float_t CPR_cpr_dx[200]; //[nCpr] Float_t CPR_cpr_energyWire[200]; //[nCpr] Float_t CPR_cpr_xWire[200]; //[nCpr] Short_t CPR_cpr_assSisa[200]; //[nCpr] Short_t CPR_cpr_assTrk[200]; //[nCpr] Short_t CPR_cpr_module[200]; //[nCpr] Short_t CPR_cpr_wires[200][3]; //[nCpr] UChar_t CPR_cpr_barrel[200]; //[nCpr] UChar_t CPR_cpr_exceededLimit; UChar_t CPR_cpr_seedType[200]; //[nCpr] Int_t EMCLST_ncl; Float_t EMCLST_ele_TwoTowerTotEnergy[25]; //[ncl] Float_t EMCLST_ele_cemCorrEnBased[25]; //[ncl] Float_t EMCLST_ele_cemCorrTrkBased[25]; //[ncl] Float_t EMCLST_ele_cemTowCorr[25]; //[ncl] Float_t EMCLST_ele_centEmIdLogL[25]; //[ncl] Float_t EMCLST_ele_corrDeltaX[25]; //[ncl] Float_t EMCLST_ele_corrDeltaZ[25]; //[ncl] Float_t EMCLST_ele_corrTrkLocX[25]; //[ncl] Float_t EMCLST_ele_corrTrkLocY[25]; //[ncl] Float_t EMCLST_ele_corrTrkLocZ[25]; //[ncl] Float_t EMCLST_ele_emDetEta[25]; //[ncl] Float_t EMCLST_ele_emEtaRMS[25]; //[ncl] Float_t EMCLST_ele_emEvEta[25]; //[ncl] Float_t EMCLST_ele_emIsoEt4[25]; //[ncl] Float_t EMCLST_ele_emIsoEt7[25]; //[ncl] Float_t EMCLST_ele_emPhi[25]; //[ncl] Float_t EMCLST_ele_emPhiRMS[25]; //[ncl] Float_t EMCLST_ele_hadEm[25]; //[ncl] Float_t EMCLST_ele_hadEnergyTriggerTower[25]; //[ncl] Float_t EMCLST_ele_isoLkgCorrEnBased[25]; //[ncl] Float_t EMCLST_ele_isoLkgCorrTrkBased[25]; //[ncl] Float_t EMCLST_ele_lshr[25]; //[ncl] Float_t EMCLST_ele_lshr2[25]; //[ncl] Float_t EMCLST_ele_lshr3[25]; //[ncl] Float_t EMCLST_ele_matchingTracksLocx[25][10]; //[ncl] Float_t EMCLST_ele_matchingTracksLocy[25][10]; //[ncl] Float_t EMCLST_ele_matchingTracksLocz[25][10]; //[ncl] Float_t EMCLST_ele_matchingTracksXdiff[25][10]; //[ncl] Float_t EMCLST_ele_matchingTracksZdiff[25][10]; //[ncl] Float_t EMCLST_ele_maxPtTrackLocalX[25]; //[ncl] Float_t EMCLST_ele_maxPtTrackLocalY[25]; //[ncl] Float_t EMCLST_ele_maxPtTrackLocalZ[25]; //[ncl] Float_t EMCLST_ele_maxPtTrackSisaxtrpshmxX[25]; //[ncl] Float_t EMCLST_ele_maxPtTrackSisaxtrpshmxY[25]; //[ncl] Float_t EMCLST_ele_maxPtTrackSisaxtrpshmxZ[25]; //[ncl] Float_t EMCLST_ele_pem3x3EmEnergy[25]; //[ncl] Float_t EMCLST_ele_pem3x3FitDetEta[25]; //[ncl] Float_t EMCLST_ele_pem3x3FitPhi[25]; //[ncl] Float_t EMCLST_ele_pemCorr[25]; //[ncl] Float_t EMCLST_ele_pes2dGlobalEta[25]; //[ncl] Float_t EMCLST_ele_pes2dGlobalPhi[25]; //[ncl] Float_t EMCLST_ele_pes2dX[25]; //[ncl] Float_t EMCLST_ele_pes2dY[25]; //[ncl] Float_t EMCLST_ele_pes2dZ[25]; //[ncl] Float_t EMCLST_ele_pesU5x9ProfRat[25]; //[ncl] Float_t EMCLST_ele_pesV5x9ProfRat[25]; //[ncl] Float_t EMCLST_ele_plug3x3chi2[25]; //[ncl] Float_t EMCLST_ele_plugEmIdLogL[25]; //[ncl] Float_t EMCLST_ele_rawCesStripChi2[25]; //[ncl] Float_t EMCLST_ele_rawCesWireChi2[25]; //[ncl] Float_t EMCLST_ele_rawEmE[25]; //[ncl] Float_t EMCLST_ele_rawEmEt[25]; //[ncl] Float_t EMCLST_ele_rawTotE[25]; //[ncl] Float_t EMCLST_ele_rawTotEt[25]; //[ncl] Float_t EMCLST_ele_std_E[25]; //[ncl] Float_t EMCLST_ele_std_EOverP[25]; //[ncl] Float_t EMCLST_ele_std_Et[25]; //[ncl] Float_t EMCLST_ele_std_Ex[25]; //[ncl] Float_t EMCLST_ele_std_Ey[25]; //[ncl] Float_t EMCLST_ele_std_Ez[25]; //[ncl] Float_t EMCLST_ele_std_calIsoEt[25]; //[ncl] Float_t EMCLST_ele_std_calIsoRatio[25]; //[ncl] Float_t EMCLST_ele_std_cesStripChi[25]; //[ncl] Float_t EMCLST_ele_std_cesWireChi[25]; //[ncl] Float_t EMCLST_ele_std_deltaZ[25]; //[ncl] Float_t EMCLST_ele_std_detEta[25]; //[ncl] Float_t EMCLST_ele_std_detPhi[25]; //[ncl] Float_t EMCLST_ele_std_hadEm[25]; //[ncl] Float_t EMCLST_ele_std_lshr[25]; //[ncl] Float_t EMCLST_ele_std_qDeltaX[25]; //[ncl] Float_t EMCLST_ele_std_trkPt[25]; //[ncl] Float_t EMCLST_ele_std_trkPx[25]; //[ncl] Float_t EMCLST_ele_std_trkPy[25]; //[ncl] Float_t EMCLST_ele_std_trkPz[25]; //[ncl] Float_t EMCLST_ele_std_vertexZ[25]; //[ncl] Float_t EMCLST_ele_totIsoEt4[25]; //[ncl] Float_t EMCLST_ele_totIsoEt7[25]; //[ncl] Float_t EMCLST_ele_zCentroid[25]; //[ncl] Float_t EMCLST_ele_zVertex[25]; //[ncl] Float_t EMCLST_ele_zVtxBeateEmEtaEvent[25]; //[ncl] Float_t EMCLST_ele_zVtxBeateEmIsolationEt4[25]; //[ncl] Float_t EMCLST_ele_zVtxBeateEmIsolationEt7[25]; //[ncl] Float_t EMCLST_ele_zVtxBeateLshr3[25]; //[ncl] Float_t EMCLST_ele_zVtxBeateMaxPt[25]; //[ncl] Float_t EMCLST_ele_zVtxBeateRawEmEt[25]; //[ncl] Float_t EMCLST_ele_zVtxBeateTotIsolationEt4[25]; //[ncl] Float_t EMCLST_ele_zVtxBeateTotIsolationEt7[25]; //[ncl] Float_t EMCLST_ele_zVtxEmEtaEvent[25]; //[ncl] Float_t EMCLST_ele_zVtxEmIsolationEt4[25]; //[ncl] Float_t EMCLST_ele_zVtxEmIsolationEt7[25]; //[ncl] Float_t EMCLST_ele_zVtxLshr3[25]; //[ncl] Float_t EMCLST_ele_zVtxMaxPt[25]; //[ncl] Float_t EMCLST_ele_zVtxRawEmEt[25]; //[ncl] Float_t EMCLST_ele_zVtxSisaEmEtaEvent[25]; //[ncl] Float_t EMCLST_ele_zVtxSisaEmIsolationEt4[25]; //[ncl] Float_t EMCLST_ele_zVtxSisaEmIsolationEt7[25]; //[ncl] Float_t EMCLST_ele_zVtxSisaLshr3[25]; //[ncl] Float_t EMCLST_ele_zVtxSisaMaxPt[25]; //[ncl] Float_t EMCLST_ele_zVtxSisaRawEmEt[25]; //[ncl] Float_t EMCLST_ele_zVtxSisaTotIsolationEt4[25]; //[ncl] Float_t EMCLST_ele_zVtxSisaTotIsolationEt7[25]; //[ncl] Float_t EMCLST_ele_zVtxTotIsolationEt4[25]; //[ncl] Float_t EMCLST_ele_zVtxTotIsolationEt7[25]; //[ncl] Short_t EMCLST_ele_bestCesStrip[25]; //[ncl] Short_t EMCLST_ele_bestCesWire[25]; //[ncl] Short_t EMCLST_ele_bestPes2d[25]; //[ncl] Short_t EMCLST_ele_cesStrip[25][15]; //[ncl] Short_t EMCLST_ele_cesTrackStrip[25][10]; //[ncl] Short_t EMCLST_ele_cesTrackWire[25][10]; //[ncl] Short_t EMCLST_ele_cesWire[25][15]; //[ncl] Short_t EMCLST_ele_convflag[25]; //[ncl] Short_t EMCLST_ele_cprTrk[25][10]; //[ncl] Short_t EMCLST_ele_cprUnbiased[25][10]; //[ncl] Short_t EMCLST_ele_fidEleShrMax[25]; //[ncl] Short_t EMCLST_ele_fidEleTrk[25]; //[ncl] Short_t EMCLST_ele_iEta[25]; //[ncl] Short_t EMCLST_ele_iPhi[25]; //[ncl] Short_t EMCLST_ele_matchingTowers[25][5]; //[ncl] Short_t EMCLST_ele_matchingTracks[25][10]; //[ncl] Short_t EMCLST_ele_maxPtTrackIndex[25]; //[ncl] Short_t EMCLST_ele_maxPtTrackSisa[25]; //[ncl] Short_t EMCLST_ele_nTowers[25]; //[ncl] Short_t EMCLST_ele_ncprTrk[25]; //[ncl] Short_t EMCLST_ele_ncprUnbiased[25]; //[ncl] Short_t EMCLST_ele_numCesStrip[25]; //[ncl] Short_t EMCLST_ele_numCesTrackStrip[25]; //[ncl] Short_t EMCLST_ele_numCesTrackWire[25]; //[ncl] Short_t EMCLST_ele_numCesWire[25]; //[ncl] Short_t EMCLST_ele_numMatchTracks[25]; //[ncl] Short_t EMCLST_ele_numPes2d[25]; //[ncl] Short_t EMCLST_ele_pem3x3FitTowers[25]; //[ncl] Short_t EMCLST_ele_pes2d[25][15]; //[ncl] Short_t EMCLST_ele_std_charge[25]; //[ncl] Short_t EMCLST_ele_std_fid[25]; //[ncl] Short_t EMCLST_ele_topflag[25]; //[ncl] UChar_t EMCLST_ele_det[25]; //[ncl] UChar_t EMCLST_ele_exceededLimit; Int_t GLB_CdfSoftNtupleVersion; Int_t GLB_CdfSoftProdVersion; Float_t GLB_NtupleVersion; Int_t GLB_cosmic_bitword; Int_t GLB_cosmic_hasAcollinearTracks; Int_t GLB_cosmic_hasCosmicRay; Int_t GLB_cosmic_hasLargeDPhiMuonStub; Int_t GLB_cosmic_hasLowEmorQFrac; Int_t GLB_cosmic_hasOOTCaloE; Int_t GLB_nev; Int_t GLB_nrun; Int_t GLB_totNumHitsSL[8]; Short_t GLB_evtDay; Short_t GLB_evtHour; Short_t GLB_evtMin; Short_t GLB_evtMonth; Short_t GLB_evtSec; Short_t GLB_evtYear; UChar_t GLB_L1_CEM4_PT4; UChar_t GLB_L1_CEM4_PT4_AND_CMX1pt5_PT2_PS1; UChar_t GLB_L1_CEM8_PT8; UChar_t GLB_L1_CMU0_PT4_PS0; UChar_t GLB_L1_CMU1pt5_PT1pt5_AND_CMX1pt5_PT2_PS1; UChar_t GLB_L1_CMUP6_PT4; UChar_t GLB_L1_CMX6_PT8_CSX_PS1; UChar_t GLB_L1_CMX6_PT8_PS1; UChar_t GLB_L1_EM8; UChar_t GLB_L1_EM8_AND_CMU1pt5_PT1pt5; UChar_t GLB_L1_EM8_AND_CMX1pt5_PT2; UChar_t GLB_L1_EM8_AND_MET15; UChar_t GLB_L1_GAP_EAST_AND_JET5; UChar_t GLB_L1_GAP_EAST_AND_JET5_AND_RP; UChar_t GLB_L1_GAP_WEST_AND_JET5; UChar_t GLB_L1_JET10; UChar_t GLB_L1_JET10_AND_SUMET90_AND_CLC; UChar_t GLB_L1_JET5_PS20; UChar_t GLB_L1_MB_CLC_PS10K; UChar_t GLB_L1_MB_XING_PS1M; UChar_t GLB_L1_MET25; UChar_t GLB_L1_RP_AND_JET5; UChar_t GLB_L1_RP_PS3K; UChar_t GLB_L1_SEVEN_TRK2_PS1; UChar_t GLB_L1_TAU0_PT4_PS0; UChar_t GLB_L1_TRK3_PS250; UChar_t GLB_L1_TRK4_PS0; UChar_t GLB_L1_TRK7_PS250; UChar_t GLB_L1_TWO_CEM2_PT2_OPPQ; UChar_t GLB_L1_TWO_CEM4_PT4; UChar_t GLB_L1_TWO_CMU1pt5_PT1pt5; UChar_t GLB_L1_TWO_GAP_AND_JET5; UChar_t GLB_L1_TWO_TRK10_DPHI20_PS50; UChar_t GLB_L1_TWO_TRK2_AND_TWO_CJET5; UChar_t GLB_L1_TWO_TRK2_OPPQ_DPHI135_SUMPT5pt5_PS1; UChar_t GLB_L1_TWO_TRK2_PS200; UChar_t GLB_L1_TWO_TRK4_DPHI150; UChar_t GLB_L1_TWO_TRK6_DPHI30_AND_TWO_CJET5; UChar_t GLB_L2_AUTO_L1_CMU0_PT4; UChar_t GLB_L2_AUTO_L1_CMU1pt5_PT1pt5_AND_CMX1pt5_PT2; UChar_t GLB_L2_AUTO_L1_CMUP6_PT4; UChar_t GLB_L2_AUTO_L1_CMX6_PT8; UChar_t GLB_L2_AUTO_L1_CMX6_PT8_CSX; UChar_t GLB_L2_AUTO_L1_GAP_EAST_AND_JET5_AND_RP; UChar_t GLB_L2_AUTO_L1_MB_XING; UChar_t GLB_L2_AUTO_L1_MET25; UChar_t GLB_L2_AUTO_L1_RP; UChar_t GLB_L2_AUTO_L1_TAU0_PT4; UChar_t GLB_L2_AUTO_L1_TRK4; UChar_t GLB_L2_AUTO_L1_TWO_CMU1pt5_PT1pt5; UChar_t GLB_L2_AUTO_L1_TWO_TRK10_DPHI20; UChar_t GLB_L2_CEM12_ISO; UChar_t GLB_L2_CEM16_L1_MET15; UChar_t GLB_L2_CEM16_PT8; UChar_t GLB_L2_CEM4_PT4_CES2_AND_CMUP6_PT4; UChar_t GLB_L2_CEM4_PT4_CES2_AND_CMX1pt5_PT2; UChar_t GLB_L2_CEM4_PT4_CES2_PS20; UChar_t GLB_L2_CEM8_PT8_CES2; UChar_t GLB_L2_EM10_ISO_PS1600; UChar_t GLB_L2_EM10_PS10000; UChar_t GLB_L2_EM12_ISO_AND_CMU1pt5_PT1pt5; UChar_t GLB_L2_EM12_ISO_AND_CMX1pt5_PT2; UChar_t GLB_L2_EM18_ISO; UChar_t GLB_L2_EM18_PS200; UChar_t GLB_L2_EM40; UChar_t GLB_L2_EM70; UChar_t GLB_L2_FOUR_JET15_SUMET125; UChar_t GLB_L2_JET15_AND_GAP_EAST_PS50; UChar_t GLB_L2_JET15_AND_GAP_WEST_PS50; UChar_t GLB_L2_JET15_AND_RP_PS1; UChar_t GLB_L2_JET15_L1_MET25; UChar_t GLB_L2_JET15_PS12; UChar_t GLB_L2_JET40; UChar_t GLB_L2_JET40_AND_GAP_EAST; UChar_t GLB_L2_JET40_AND_GAP_WEST; UChar_t GLB_L2_JET40_AND_RP; UChar_t GLB_L2_JET60_PS8; UChar_t GLB_L2_JET90; UChar_t GLB_L2_PEM20_L1_EM8_AND_MET15; UChar_t GLB_L2_PEM20_PS10; UChar_t GLB_L2_PEM8_AND_CMUP6_PT4; UChar_t GLB_L2_PEM8_AND_CMX1pt5_PT2; UChar_t GLB_L2_PEM8_L1_CEM8_PT8; UChar_t GLB_L2_PS100_L1_EM8; UChar_t GLB_L2_PS100_L1_JET10; UChar_t GLB_L2_PS100_L1_JET5; UChar_t GLB_L2_PS100_L1_TWO_CEM2_PT2_OPPQ; UChar_t GLB_L2_PS100_L1_TWO_CEM4_PT4; UChar_t GLB_L2_PS100_L1_TWO_GAP_AND_JET5; UChar_t GLB_L2_PS10K_L1_EM8; UChar_t GLB_L2_PS10K_L1_SEVEN_TRK2; UChar_t GLB_L2_PS10K_L1_TWO_TRK2_OPPQ_DPHI135_SUMPT5pt5; UChar_t GLB_L2_PS10_L1_CEM8_PT8; UChar_t GLB_L2_PS10_L1_CMUP6_PT4; UChar_t GLB_L2_PS10_L1_EM8_AND_CMU1pt5_PT1pt5; UChar_t GLB_L2_PS10_L1_EM8_AND_CMX1pt5_PT2; UChar_t GLB_L2_PS10_L1_EM8_AND_MET15; UChar_t GLB_L2_PS20_L1_RP_AND_JET5; UChar_t GLB_L2_PS2500_L1_EM8; UChar_t GLB_L2_PS500_L1_CEM4_PT4; UChar_t GLB_L2_PS500_L1_GAP_EAST_AND_JET5; UChar_t GLB_L2_PS500_L1_GAP_WEST_AND_JET5; UChar_t GLB_L2_PS500_L1_TWO_TRK2; UChar_t GLB_L2_RL1HZ_L1_JET10; UChar_t GLB_L2_RL1HZ_L1_JET5; UChar_t GLB_L2_RL1HZ_L1_MB_CLC; UChar_t GLB_L2_RL1HZ_L1_TRK3; UChar_t GLB_L2_RL1HZ_L1_TRK7; UChar_t GLB_L2_THREE_EM10; UChar_t GLB_L2_TRK2_D120_L1_CEM4_PT4; UChar_t GLB_L2_TRK2_D120_L1_CMUP6_PT4; UChar_t GLB_L2_TRK8_L1_CMUP6_PT4; UChar_t GLB_L2_TWO_CEM2_PT2_CES1_PS10; UChar_t GLB_L2_TWO_CEM4_PT4_CES2; UChar_t GLB_L2_TWO_EM10_ISO; UChar_t GLB_L2_TWO_EM16; UChar_t GLB_L2_TWO_JET15_L1_TWO_TRK6; UChar_t GLB_L2_TWO_PEM20; UChar_t GLB_L2_TWO_PJET40; UChar_t GLB_L2_TWO_TRK2_D100_AND_L1_TWO_CJET5; UChar_t GLB_L2_TWO_TRK2_D100_L1_JET10_AND_SUMET90; UChar_t GLB_L2_TWO_TRK2_D100_L1_OPPQ_DPHI135_SUMPT5pt5; UChar_t GLB_L2_TWO_TRK2_D100_L1_SEVEN_TRK2; UChar_t GLB_L2_TWO_TRK2_D100_L1_TWO_CEM2_PT2; UChar_t GLB_L2_TWO_TRK2_D100_PS5; UChar_t GLB_L2_TWO_TRK4_D120; UChar_t GLB_L3_AAAAA_ALL_RECO_ELECTRON_1000; UChar_t GLB_L3_BBBAR_TWO_CMUP3; UChar_t GLB_L3_B_CHARM; UChar_t GLB_L3_B_CHARM_L1_SEVEN_TRK2; UChar_t GLB_L3_B_D0; UChar_t GLB_L3_B_D0_L1_SEVEN_TRK2; UChar_t GLB_L3_B_HAD_L3PS150_L2_TWO_TRK2_L1_OPPQ_DPHI135_SUMPT5pt5; UChar_t GLB_L3_B_HAD_L3PS150_L2_TWO_TRK2_L1_SEVEN_TRK2; UChar_t GLB_L3_B_HAD_L3TAG_L1_SEVEN_TRK2; UChar_t GLB_L3_B_HAD_L3TAG_L1_TWO_TRK2; UChar_t GLB_L3_B_HAD_L3TAG_L1_TWO_TRK2_OPPQ_DPHI135_SUMPT5pt5; UChar_t GLB_L3_B_HAD_L3TAG_L2_TWO_TRK2_D100; UChar_t GLB_L3_B_PIPI; UChar_t GLB_L3_B_PIPI_L1_SEVEN_TRK2; UChar_t GLB_L3_B_SEMI_CEM4_TRACK2_D120; UChar_t GLB_L3_B_SEMI_CMUP4_TRACK2_D120; UChar_t GLB_L3_B_SEMI_L3PS20_L2_TRK2_D120_L1_CMUP6_PT4; UChar_t GLB_L3_B_SEMI_L3PS250_L2_TRK2_D120_L1_CEM_4_PT4; UChar_t GLB_L3_CEM4_CMUP4; UChar_t GLB_L3_CEM4_CMX4; UChar_t GLB_L3_CEM8_PEM8; UChar_t GLB_L3_CEM8_PEM8_NO_L2; UChar_t GLB_L3_CMUP4_PEM8; UChar_t GLB_L3_CMUP4_PEM8_NO_L2; UChar_t GLB_L3_CMX4_PEM8; UChar_t GLB_L3_CMX4_PEM8_NO_L2; UChar_t GLB_L3_DIELECTRON_CENTRAL_2_L3PS50; UChar_t GLB_L3_DIELECTRON_CENTRAL_2_NOL2_L3PS50; UChar_t GLB_L3_DIELECTRON_CENTRAL_2_TWO_SVT; UChar_t GLB_L3_DIELECTRON_CENTRAL_4; UChar_t GLB_L3_DIELECTRON_CENTRAL_L1_TWO_CEM4; UChar_t GLB_L3_DIELECTRON_CENTRAL_PS2K_L1_TWO_CEM2_OPPQ; UChar_t GLB_L3_DIFF_GAPE_JET20; UChar_t GLB_L3_DIFF_GAPE_JET50; UChar_t GLB_L3_DIFF_GAPE_ST5; UChar_t GLB_L3_DIFF_GAPW_JET20; UChar_t GLB_L3_DIFF_GAPW_JET50; UChar_t GLB_L3_DIFF_GAPW_ST5; UChar_t GLB_L3_DIFF_GAP_GAP_ST5; UChar_t GLB_L3_DIFF_L3PS20_L2_JET15_AND_GAP_EAST; UChar_t GLB_L3_DIFF_L3PS20_L2_JET15_AND_GAP_WEST; UChar_t GLB_L3_DIFF_RP; UChar_t GLB_L3_DIFF_RP_GAP_ST5; UChar_t GLB_L3_DIFF_RP_JET20; UChar_t GLB_L3_DIFF_RP_JET50; UChar_t GLB_L3_DIFF_RP_ST5; UChar_t GLB_L3_DIMUON_CMUP4_CMX4; UChar_t GLB_L3_DIMUON_CMUPCMUP4; UChar_t GLB_L3_DIMUON_L3PS200_L1_CMU1pt5_PT1pt5_AND_CMX1pt5_PT2; UChar_t GLB_L3_DIMUON_L3PS200_L1_TWO_CMU1pt5_PT1pt5; UChar_t GLB_L3_DIPHOTON_12; UChar_t GLB_L3_DIPHOTON_12_NO_L2; UChar_t GLB_L3_DIPHOTON_18; UChar_t GLB_L3_DIPHOTON_18_NO_L2; UChar_t GLB_L3_DITAU; UChar_t GLB_L3_ELECTRON70_L2_JET; UChar_t GLB_L3_ELECTRON_CENTRAL_18; UChar_t GLB_L3_ELECTRON_CENTRAL_18_L3PS10; UChar_t GLB_L3_ELECTRON_CENTRAL_18_NO_L2; UChar_t GLB_L3_ELECTRON_CENTRAL_4; UChar_t GLB_L3_ELECTRON_CENTRAL_4_NOL2; UChar_t GLB_L3_ELECTRON_CENTRAL_8; UChar_t GLB_L3_ELECTRON_CENTRAL_8_NO_L2; UChar_t GLB_L3_ELECTRON_CENTRAL_L3PS20_L1_CEM8_PT8; UChar_t GLB_L3_ELECTRON_CENTRAL_PS5K_L1_CEM4_PT4; UChar_t GLB_L3_EXO_TWO_TRACK; UChar_t GLB_L3_EXPRESS_D0; UChar_t GLB_L3_EXPRESS_ELECTRON_CENTRAL_18; UChar_t GLB_L3_EXPRESS_W; UChar_t GLB_L3_EXPRESS_Z; UChar_t GLB_L3_HIGGS_MULTI_JET; UChar_t GLB_L3_HIGH_PT_BJET; UChar_t GLB_L3_JET_100; UChar_t GLB_L3_JET_20; UChar_t GLB_L3_JET_20_NO_L2; UChar_t GLB_L3_JET_50; UChar_t GLB_L3_JET_70; UChar_t GLB_L3_JET_70_NO_L2; UChar_t GLB_L3_JET_CAL_SINGLETOWER_10_1HZ; UChar_t GLB_L3_JET_CAL_SINGLETOWER_5_1HZ; UChar_t GLB_L3_JET_CAL_TRACK3_ISO; UChar_t GLB_L3_JET_CAL_TRACK7_ISO; UChar_t GLB_L3_JPSI_CEMCEM_NOL2; UChar_t GLB_L3_JPSI_CEMCEM_TWO_SVT; UChar_t GLB_L3_JPSI_CMU1pt5_CMX2; UChar_t GLB_L3_JPSI_CMUCMU1pt5; UChar_t GLB_L3_JPSI_CMUP4_CMU1pt5; UChar_t GLB_L3_JPSI_CMUP4_CMX2; UChar_t GLB_L3_MET35_AND_TWO_JETS; UChar_t GLB_L3_MET45; UChar_t GLB_L3_MET_L3PS100_L1_MET25; UChar_t GLB_L3_MET_PEM; UChar_t GLB_L3_MET_PEM_L1_EM8_AND_MET15; UChar_t GLB_L3_MINBIAS_1HZ; UChar_t GLB_L3_MONITOR_L1_CMU0_PT4; UChar_t GLB_L3_MONITOR_L1_TAU0_PT4; UChar_t GLB_L3_MONITOR_L1_TRK4; UChar_t GLB_L3_MONITOR_L3TAG_PS100; UChar_t GLB_L3_MUON_CMUP18; UChar_t GLB_L3_MUON_CMUP4_L3PS50; UChar_t GLB_L3_MUON_CMUP8; UChar_t GLB_L3_MUON_CMX18; UChar_t GLB_L3_MUON_L3PS500_L1_CMUP6_PT4; UChar_t GLB_L3_PHOTON_10_ISO; UChar_t GLB_L3_PHOTON_10_NOISO; UChar_t GLB_L3_PHOTON_10_NOISO_NO_L2; UChar_t GLB_L3_PHOTON_15_TIGHT; UChar_t GLB_L3_PHOTON_15_TIGHT_NO_L2; UChar_t GLB_L3_PHOTON_18_NOISO; UChar_t GLB_L3_PHOTON_25_ISO; UChar_t GLB_L3_PHOTON_25_ISO_NO_L2; UChar_t GLB_L3_PHOTON_B_JET; UChar_t GLB_L3_PHOTON_CMUP; UChar_t GLB_L3_PHOTON_CMUP_L1_EM8_AND_CMU1pt5; UChar_t GLB_L3_PHOTON_CMX; UChar_t GLB_L3_PHOTON_CMX_L1_EM8_AND_CMX2; UChar_t GLB_L3_PHOTON_DIJET; UChar_t GLB_L3_PHOTON_DIJET_NO_L2; UChar_t GLB_L3_PHOTON_L1_EM8; UChar_t GLB_L3_PLUG_DIJET; UChar_t GLB_L3_PLUG_ELECTRON_20; UChar_t GLB_L3_PLUG_Z; UChar_t GLB_L3_RAREB_CMUCMU_SUMPT; UChar_t GLB_L3_RAREB_CMUCMU_SVT; UChar_t GLB_L3_RAREB_CMUCMX_CMUSVT; UChar_t GLB_L3_RAREB_CMUCMX_CMXSVT; UChar_t GLB_L3_RAREB_CMUCMX_SUMPT; UChar_t GLB_L3_RAREB_CMUPCMU; UChar_t GLB_L3_RAREB_CMUPCMX; UChar_t GLB_L3_SUPER_PHOTON70_L2_EM; UChar_t GLB_L3_SUPER_PHOTON70_L2_JET; UChar_t GLB_L3_TAU_CMUP8_TRACK5_ISO; UChar_t GLB_L3_TAU_CMX8_TRACK5_ISO; UChar_t GLB_L3_TAU_ELECTRON8_TRACK5_ISO; UChar_t GLB_L3_TAU_MET; UChar_t GLB_L3_TOP_MULTI_JET; UChar_t GLB_L3_TRIPHOTON; UChar_t GLB_L3_TRIPHOTON_NO_L2; UChar_t GLB_L3_TWO_JET_15_M120; UChar_t GLB_L3_TWO_JET_40_M175; UChar_t GLB_L3_TWO_JET_60_M230; UChar_t GLB_L3_TWO_JET_90_M300; UChar_t GLB_L3_ULTRA_PHOTON50; UChar_t GLB_L3_ULTRA_PHOTON50_NO_L2; UChar_t GLB_L3_UPSILON_CMUP_CMU; UChar_t GLB_L3_UPSILON_CMUP_CMX; UChar_t GLB_L3_W_NOTRACK; UChar_t GLB_L3_W_NOTRACK_NO_L2; UChar_t GLB_L3_ZEROBIAS_NOL3FILT_L1_MB_XING_PS1M; UChar_t GLB_L3_Z_BB; UChar_t GLB_L3_Z_NOTRACK; UChar_t GLB_ResidualsBeamConstrained; UChar_t GLB_isData; Int_t HEPG_nhepg; Float_t HEPG_hepg_E[500]; //[nhepg] Int_t HEPG_hepg_Id[500]; //[nhepg] Int_t HEPG_hepg_NDaughter[500]; //[nhepg] Int_t HEPG_hepg_NDaughter2[500]; //[nhepg] Int_t HEPG_hepg_NMother[500]; //[nhepg] Int_t HEPG_hepg_NMother2[500]; //[nhepg] Float_t HEPG_hepg_PX[500]; //[nhepg] Float_t HEPG_hepg_PY[500]; //[nhepg] Float_t HEPG_hepg_PZ[500]; //[nhepg] Int_t HEPG_hepg_PythiaKScode[500]; //[nhepg] Float_t HEPG_hepg_VertX[500]; //[nhepg] Float_t HEPG_hepg_VertY[500]; //[nhepg] Float_t HEPG_hepg_VertZ[500]; //[nhepg] UChar_t HEPG_hepg_exceededLimit; Int_t JETCLU_njetclu; Float_t JETCLU_jet_chrfrac[100]; //[njetclu] Float_t JETCLU_jet_corfac02[100]; //[njetclu] Float_t JETCLU_jet_corfac03[100]; //[njetclu] Float_t JETCLU_jet_corfac04[100]; //[njetclu] Float_t JETCLU_jet_corfac05[100]; //[njetclu] Float_t JETCLU_jet_corfac06[100]; //[njetclu] Float_t JETCLU_jet_corfac07[100]; //[njetclu] Float_t JETCLU_jet_deteta[100]; //[njetclu] Float_t JETCLU_jet_e[100]; //[njetclu] Float_t JETCLU_jet_eguard[100]; //[njetclu] Float_t JETCLU_jet_emfrac[100]; //[njetclu] Float_t JETCLU_jet_et[100]; //[njetclu] Float_t JETCLU_jet_eta[100]; //[njetclu] Float_t JETCLU_jet_fVtxPt[100]; //[njetclu] Float_t JETCLU_jet_noVtxPt[100]; //[njetclu] Float_t JETCLU_jet_phi[100]; //[njetclu] Float_t JETCLU_jet_px[100]; //[njetclu] Float_t JETCLU_jet_py[100]; //[njetclu] Float_t JETCLU_jet_pz[100]; //[njetclu] Float_t JETCLU_jet_secvCharge[100]; //[njetclu] Float_t JETCLU_jet_secvChisq[100]; //[njetclu] Float_t JETCLU_jet_secvChisqr[100]; //[njetclu] Float_t JETCLU_jet_secvChisqz[100]; //[njetclu] Float_t JETCLU_jet_secvDl2d[100]; //[njetclu] Float_t JETCLU_jet_secvDl3d[100]; //[njetclu] Float_t JETCLU_jet_secvDlzd[100]; //[njetclu] Float_t JETCLU_jet_secvL2d[100]; //[njetclu] Float_t JETCLU_jet_secvL3d[100]; //[njetclu] Float_t JETCLU_jet_secvLzd[100]; //[njetclu] Float_t JETCLU_jet_secvMass[100]; //[njetclu] Float_t JETCLU_jet_secvNdtrk[100]; //[njetclu] Float_t JETCLU_jet_secvNtrk[100]; //[njetclu] Float_t JETCLU_jet_secvNvtrk[100]; //[njetclu] Float_t JETCLU_jet_secvPass[100]; //[njetclu] Float_t JETCLU_jet_secvPt[100]; //[njetclu] Float_t JETCLU_jet_secvTag[100]; //[njetclu] Float_t JETCLU_jet_secvX[100]; //[njetclu] Float_t JETCLU_jet_secvXerr[100]; //[njetclu] Float_t JETCLU_jet_secvY[100]; //[njetclu] Float_t JETCLU_jet_secvYerr[100]; //[njetclu] Float_t JETCLU_jet_secvZ[100]; //[njetclu] Float_t JETCLU_jet_zRMS[100]; //[njetclu] Float_t JETCLU_jet_zmean[100]; //[njetclu] Float_t JETCLU_jet_zvertex[100]; //[njetclu] Short_t JETCLU_jet_alg[100]; //[njetclu] Short_t JETCLU_jet_njets_jetclu[8]; Short_t JETCLU_jet_numtrk[100]; //[njetclu] Short_t JETCLU_jet_numtwrs[100]; //[njetclu] Short_t JETCLU_jet_twrindx[100][50]; //[njetclu] UChar_t JETCLU_jet_exceededLimit; Float_t LUM_lum_glive_inst; Float_t LUM_lum_glive_inst_bunch[36]; Float_t LUM_lum_glive_tot; Float_t LUM_lum_glive_tot_bunch[36]; Float_t LUM_lum_inst; Float_t LUM_lum_inst_bunch[36]; Float_t LUM_lum_scaler_inst; Float_t LUM_lum_scaler_tot; Float_t LUM_lum_tot; Float_t LUM_lum_tot_bunch[36]; Float_t MET_met; Float_t MET_metX; Float_t MET_metY; Float_t MET_sumet; Int_t MU_nMuon; Float_t MU_mu_Hdrf[20][8][10]; //[nMuon] Float_t MU_mu_R4EmF[20]; //[nMuon] Float_t MU_mu_R7EmF[20]; //[nMuon] Float_t MU_mu_SbPhi[20][8]; //[nMuon] Float_t MU_mu_Sbvx[20][8]; //[nMuon] Float_t MU_mu_Sbvy[20][8]; //[nMuon] Float_t MU_mu_Sbvz[20][8]; //[nMuon] Float_t MU_mu_Sbx[20][8]; //[nMuon] Float_t MU_mu_Sby[20][8]; //[nMuon] Float_t MU_mu_Sbz[20][8]; //[nMuon] Float_t MU_mu_cR4Et[20]; //[nMuon] Float_t MU_mu_cR7Et[20]; //[nMuon] Float_t MU_mu_chix[20][8]; //[nMuon] Float_t MU_mu_chiz[20][8]; //[nMuon] Float_t MU_mu_dphi[20][8]; //[nMuon] Float_t MU_mu_dthet[20][8]; //[nMuon] Float_t MU_mu_dx[20][8]; //[nMuon] Float_t MU_mu_dz[20][8]; //[nMuon] Float_t MU_mu_emE[20]; //[nMuon] Float_t MU_mu_exSum[20]; //[nMuon] Float_t MU_mu_eySum[20]; //[nMuon] Float_t MU_mu_hadE[20]; //[nMuon] Float_t MU_mu_ngbEm[20]; //[nMuon] Short_t MU_mu_Hwdt[20][8][10]; //[nMuon] Short_t MU_mu_SbnH[20][8]; //[nMuon] Short_t MU_mu_Stub[20][8]; //[nMuon] Short_t MU_mu_fidEle[20]; //[nMuon] Short_t MU_mu_numEmTows[20]; //[nMuon] Short_t MU_mu_numHadTows[20]; //[nMuon] Short_t MU_mu_topflag[20]; //[nMuon] Short_t MU_mu_trkIndex[20]; //[nMuon] Short_t MU_mu_trkSisa[20]; //[nMuon] UChar_t MU_mu_exceededLimit; UChar_t MU_mu_fidBMU[20]; //[nMuon] UChar_t MU_mu_fidCMP[20]; //[nMuon] UChar_t MU_mu_fidCMU[20]; //[nMuon] UChar_t MU_mu_fidCMX[20]; //[nMuon] Int_t OBSP_nObsp; Int_t OBSP_obsp_cdfCode[1000]; //[nObsp] Int_t OBSP_obsp_decayCode[1000]; //[nObsp] Int_t OBSP_obsp_decayVertexNum[1000]; //[nObsp] Int_t OBSP_obsp_hepgNum[1000]; //[nObsp] Float_t OBSP_obsp_mass[1000]; //[nObsp] Float_t OBSP_obsp_path[1000]; //[nObsp] Float_t OBSP_obsp_px[1000]; //[nObsp] Float_t OBSP_obsp_py[1000]; //[nObsp] Float_t OBSP_obsp_pz[1000]; //[nObsp] Int_t OBSP_obsp_vertexNum[1000]; //[nObsp] UChar_t OBSP_obsp_exceededLimit; Int_t OBSV_nObsv; Int_t OBSV_obsv_firstDa[1000]; //[nObsv] Int_t OBSV_obsv_lastDa[1000]; //[nObsv] Int_t OBSV_obsv_mo[1000]; //[nObsv] Float_t OBSV_obsv_t[1000]; //[nObsv] Int_t OBSV_obsv_vert[1000]; //[nObsv] Float_t OBSV_obsv_x[1000]; //[nObsv] Float_t OBSV_obsv_y[1000]; //[nObsv] Float_t OBSV_obsv_z[1000]; //[nObsv] UChar_t OBSV_obsv_exceededLimit; Int_t PESCLST_npesclst; Float_t PESCLST_pes_2dErrX[200]; //[npesclst] Float_t PESCLST_pes_2dErrY[200]; //[npesclst] Float_t PESCLST_pes_2dEta[200]; //[npesclst] Float_t PESCLST_pes_2dPhi[200]; //[npesclst] Float_t PESCLST_pes_2dX[200]; //[npesclst] Float_t PESCLST_pes_2dY[200]; //[npesclst] Float_t PESCLST_pes_2dZ[200]; //[npesclst] Float_t PESCLST_pes_E[200]; //[npesclst] Float_t PESCLST_pes_U5x9ProfRat[200]; //[npesclst] Float_t PESCLST_pes_V5x9ProfRat[200]; //[npesclst] Short_t PESCLST_pes_EtaRegion[200]; //[npesclst] Short_t PESCLST_pes_UStrips[200]; //[npesclst] Short_t PESCLST_pes_VStrips[200]; //[npesclst] UChar_t PESCLST_pes_exceededLimit; Int_t PHOTON_npho; Float_t PHOTON_pho_cesChi2Strip[25]; //[npho] Float_t PHOTON_pho_cesChi2Wire[25]; //[npho] Float_t PHOTON_pho_cesCorrE[25]; //[npho] Float_t PHOTON_pho_cesE[25]; //[npho] Float_t PHOTON_pho_cesStrip[25]; //[npho] Float_t PHOTON_pho_cesStripE2[25]; //[npho] Float_t PHOTON_pho_cesWire[25]; //[npho] Float_t PHOTON_pho_cesWireE2[25]; //[npho] Float_t PHOTON_pho_cesX[25]; //[npho] Float_t PHOTON_pho_cesZ[25]; //[npho] Float_t PHOTON_pho_cprCesSeedQ[25]; //[npho] Float_t PHOTON_pho_cprCesSeedX[25]; //[npho] Float_t PHOTON_pho_cprCesSeedZVtx[25]; //[npho] Float_t PHOTON_pho_cprQUnbiased[25]; //[npho] Float_t PHOTON_pho_cprXUnbiased[25]; //[npho] Float_t PHOTON_pho_energyCorr[25]; //[npho] Float_t PHOTON_pho_hadem[25]; //[npho] Float_t PHOTON_pho_n3d[25]; //[npho] Float_t PHOTON_pho_pem3X3Chi2[25]; //[npho] Float_t PHOTON_pho_pesE[25]; //[npho] Float_t PHOTON_pho_pesE2[25]; //[npho] Float_t PHOTON_pho_pesX[25]; //[npho] Float_t PHOTON_pho_pesXError[25]; //[npho] Float_t PHOTON_pho_pesY[25]; //[npho] Float_t PHOTON_pho_pesYError[25]; //[npho] Float_t PHOTON_pho_pesZ[25]; //[npho] Float_t PHOTON_pho_phi[25]; //[npho] Float_t PHOTON_pho_pprEnergy[25]; //[npho] Float_t PHOTON_pho_prmZeta[25][5]; //[npho] Float_t PHOTON_pho_prmZisoCo4[25][5]; //[npho] Float_t PHOTON_pho_prmZisoCo7[25][5]; //[npho] Float_t PHOTON_pho_prmZisoPJWCo4[25][5]; //[npho] Float_t PHOTON_pho_prmZlshr[25][5]; //[npho] Float_t PHOTON_pho_prmZrawEt[25][5]; //[npho] Float_t PHOTON_pho_prmZtrackIso4[25][5]; //[npho] Float_t PHOTON_pho_prmZtrackIso7[25][5]; //[npho] Float_t PHOTON_pho_pt[25]; //[npho] Float_t PHOTON_pho_pt2[25]; //[npho] Float_t PHOTON_pho_rawEnergy[25]; //[npho] Float_t PHOTON_pho_towerEta[25]; //[npho] Float_t PHOTON_pho_towerPhi[25]; //[npho] Float_t PHOTON_pho_trkZeta[25][5]; //[npho] Float_t PHOTON_pho_trkZisoCo4[25][5]; //[npho] Float_t PHOTON_pho_trkZisoCo7[25][5]; //[npho] Float_t PHOTON_pho_trkZisoPJWCo4[25][5]; //[npho] Float_t PHOTON_pho_trkZlshr[25][5]; //[npho] Float_t PHOTON_pho_trkZrawEt[25][5]; //[npho] Float_t PHOTON_pho_trkZtrackIso4[25][5]; //[npho] Float_t PHOTON_pho_trkZtrackIso7[25][5]; //[npho] Float_t PHOTON_pho_vxPrmZeta[25]; //[npho] Float_t PHOTON_pho_vxPrmZisoCo4[25]; //[npho] Float_t PHOTON_pho_vxPrmZisoCo7[25]; //[npho] Float_t PHOTON_pho_vxPrmZisoPJWCo4[25]; //[npho] Float_t PHOTON_pho_vxPrmZlshr[25]; //[npho] Float_t PHOTON_pho_vxPrmZrawEt[25]; //[npho] Float_t PHOTON_pho_vxPrmZtrackIso4[25]; //[npho] Float_t PHOTON_pho_vxPrmZtrackIso7[25]; //[npho] Short_t PHOTON_pho_cprCesSeedWires[25][5]; //[npho] Short_t PHOTON_pho_trkZlinks[25][5]; //[npho] UChar_t PHOTON_pho_det[25]; //[npho] UChar_t PHOTON_pho_exceededLimit; UChar_t PHOTON_pho_showerMax[25]; //[npho] Int_t PLUGELE_npl; Float_t PLUGELE_pele_PhxCharge[25]; //[npl] Float_t PLUGELE_pele_PhxTrkD0[25]; //[npl] Float_t PLUGELE_pele_PhxTrkD0SA[25]; //[npl] Float_t PLUGELE_pele_PhxTrkEta[25]; //[npl] Float_t PLUGELE_pele_PhxTrkP[25]; //[npl] Float_t PLUGELE_pele_PhxTrkPhi0[25]; //[npl] Float_t PLUGELE_pele_PhxTrkPt[25]; //[npl] Float_t PLUGELE_pele_PhxTrkPx[25]; //[npl] Float_t PLUGELE_pele_PhxTrkPy[25]; //[npl] Float_t PLUGELE_pele_PhxTrkPz[25]; //[npl] Float_t PLUGELE_pele_PhxTrkSiHits[25]; //[npl] Float_t PLUGELE_pele_PhxTrkSiHitsSA[25]; //[npl] Float_t PLUGELE_pele_PhxTrkZ0[25]; //[npl] Float_t PLUGELE_pele_PhxTrkZ0SA[25]; //[npl] Float_t PLUGELE_pele_PhxxtrpshmxXCOT[25]; //[npl] Float_t PLUGELE_pele_PhxxtrpshmxXPH[25]; //[npl] Float_t PLUGELE_pele_PhxxtrpshmxXSA[25]; //[npl] Float_t PLUGELE_pele_PhxxtrpshmxYCOT[25]; //[npl] Float_t PLUGELE_pele_PhxxtrpshmxYPH[25]; //[npl] Float_t PLUGELE_pele_PhxxtrpshmxYSA[25]; //[npl] Float_t PLUGELE_pele_PhxxtrpshmxZCOT[25]; //[npl] Float_t PLUGELE_pele_PhxxtrpshmxZPH[25]; //[npl] Float_t PLUGELE_pele_PhxxtrpshmxZSA[25]; //[npl] Float_t PLUGELE_pele_Phxz0EmEtaEvent[25]; //[npl] Float_t PLUGELE_pele_Phxz0EmIsolationEt4[25]; //[npl] Float_t PLUGELE_pele_Phxz0EmIsolationEt7[25]; //[npl] Float_t PLUGELE_pele_Phxz0MaxPt[25]; //[npl] Float_t PLUGELE_pele_Phxz0RawEmEt[25]; //[npl] Float_t PLUGELE_pele_Phxz0TotIsolationEt4[25]; //[npl] Float_t PLUGELE_pele_Phxz0TotIsolationEt7[25]; //[npl] Float_t PLUGELE_pele_TwoTowerTotEnergy[25]; //[npl] Float_t PLUGELE_pele_emDetEta[25]; //[npl] Float_t PLUGELE_pele_emEtaRMS[25]; //[npl] Float_t PLUGELE_pele_emEvEta[25]; //[npl] Float_t PLUGELE_pele_emIsoEt4[25]; //[npl] Float_t PLUGELE_pele_emIsoEt7[25]; //[npl] Float_t PLUGELE_pele_emPhi[25]; //[npl] Float_t PLUGELE_pele_emPhiRMS[25]; //[npl] Float_t PLUGELE_pele_hadEm[25]; //[npl] Float_t PLUGELE_pele_hadEnergyTriggerTower[25]; //[npl] Float_t PLUGELE_pele_isoLkgCorrEnBased[25]; //[npl] Float_t PLUGELE_pele_isoLkgCorrTrkBased[25]; //[npl] Float_t PLUGELE_pele_lshr[25]; //[npl] Float_t PLUGELE_pele_lshr2[25]; //[npl] Float_t PLUGELE_pele_lshr3[25]; //[npl] Float_t PLUGELE_pele_pem3x3EmEnergy[25]; //[npl] Float_t PLUGELE_pele_pem3x3FitDetEta[25]; //[npl] Float_t PLUGELE_pele_pem3x3FitPhi[25]; //[npl] Float_t PLUGELE_pele_pemCorr[25]; //[npl] Float_t PLUGELE_pele_pes2dGlobalEta[25]; //[npl] Float_t PLUGELE_pele_pes2dGlobalPhi[25]; //[npl] Float_t PLUGELE_pele_pes2dX[25]; //[npl] Float_t PLUGELE_pele_pes2dY[25]; //[npl] Float_t PLUGELE_pele_pes2dZ[25]; //[npl] Float_t PLUGELE_pele_pesU5x9ProfRat[25]; //[npl] Float_t PLUGELE_pele_pesV5x9ProfRat[25]; //[npl] Float_t PLUGELE_pele_plug3x3chi2[25]; //[npl] Float_t PLUGELE_pele_plugEmIdLogL[25]; //[npl] Float_t PLUGELE_pele_rawEmE[25]; //[npl] Float_t PLUGELE_pele_rawEmEt[25]; //[npl] Float_t PLUGELE_pele_rawTotE[25]; //[npl] Float_t PLUGELE_pele_rawTotEt[25]; //[npl] Float_t PLUGELE_pele_totIsoEt4[25]; //[npl] Float_t PLUGELE_pele_totIsoEt7[25]; //[npl] Float_t PLUGELE_pele_zCentroid[25]; //[npl] Float_t PLUGELE_pele_zVertex[25]; //[npl] Float_t PLUGELE_pele_zVtxBeateEmEtaEvent[25]; //[npl] Float_t PLUGELE_pele_zVtxBeateEmIsolationEt4[25]; //[npl] Float_t PLUGELE_pele_zVtxBeateEmIsolationEt7[25]; //[npl] Float_t PLUGELE_pele_zVtxBeateMaxPt[25]; //[npl] Float_t PLUGELE_pele_zVtxBeateRawEmEt[25]; //[npl] Float_t PLUGELE_pele_zVtxBeateTotIsolationEt4[25]; //[npl] Float_t PLUGELE_pele_zVtxBeateTotIsolationEt7[25]; //[npl] Short_t PLUGELE_pele_bestPes2d[25]; //[npl] Short_t PLUGELE_pele_fidEleShrMax[25]; //[npl] Short_t PLUGELE_pele_fidEleTrk[25]; //[npl] Short_t PLUGELE_pele_iEta[25]; //[npl] Short_t PLUGELE_pele_iPhi[25]; //[npl] Short_t PLUGELE_pele_nTowers[25]; //[npl] Short_t PLUGELE_pele_numPes2d[25]; //[npl] Short_t PLUGELE_pele_pem3x3FitTowers[25]; //[npl] Short_t PLUGELE_pele_pes2d[25][15]; //[npl] UChar_t PLUGELE_pele_PhxMatch[25]; //[npl] UChar_t PLUGELE_pele_SAMatch[25]; //[npl] UChar_t PLUGELE_pele_det[25]; //[npl] UChar_t PLUGELE_pele_exceededLimit; Int_t RESIDUALS_nRes; Float_t RESIDUALS_res_HitD[10][96]; //[nRes] Float_t RESIDUALS_res_HitT[10][96]; //[nRes] Float_t RESIDUALS_res_HitWidth[10][96]; //[nRes] Float_t RESIDUALS_res_SinAspect[10][96]; //[nRes] Float_t RESIDUALS_res_TrackY[10][96]; //[nRes] Short_t RESIDUALS_res_AssTrkNum[10]; //[nRes] Short_t RESIDUALS_res_CellNum[10][96]; //[nRes] UChar_t RESIDUALS_res_exceededLimit; Int_t SISA_nsisa; Float_t SISA_sisa_nonbc_chi2[100]; //[nsisa] Float_t SISA_sisa_nonbc_cotTheta[100]; //[nsisa] Float_t SISA_sisa_nonbc_curv[100]; //[nsisa] Float_t SISA_sisa_nonbc_d0[100]; //[nsisa] Float_t SISA_sisa_nonbc_phi[100]; //[nsisa] Float_t SISA_sisa_nonbc_pt[100]; //[nsisa] Float_t SISA_sisa_nonbc_z0[100]; //[nsisa] Short_t SISA_sisa_nonbc_nsvxHits[100]; //[nsisa] UChar_t SISA_sisa_exceededLimit; Int_t TOF_ntof; Float_t TOF_tof_TofMass[50]; //[ntof] Float_t TOF_tof_TofTime[50]; //[ntof] Float_t TOF_tof_pathLength[50]; //[ntof] Short_t TOF_tof_assTrk[50]; //[ntof] UChar_t TOF_tof_exceededLimit; Int_t TOPJET_ntopjet; Float_t TOPJET_topjet_chrfrac[100]; //[ntopjet] Float_t TOPJET_topjet_corfac02[100]; //[ntopjet] Float_t TOPJET_topjet_corfac03[100]; //[ntopjet] Float_t TOPJET_topjet_corfac04[100]; //[ntopjet] Float_t TOPJET_topjet_corfac05[100]; //[ntopjet] Float_t TOPJET_topjet_corfac06[100]; //[ntopjet] Float_t TOPJET_topjet_corfac07[100]; //[ntopjet] Float_t TOPJET_topjet_deteta[100]; //[ntopjet] Float_t TOPJET_topjet_e[100]; //[ntopjet] Float_t TOPJET_topjet_eguard[100]; //[ntopjet] Float_t TOPJET_topjet_emfrac[100]; //[ntopjet] Float_t TOPJET_topjet_et[100]; //[ntopjet] Float_t TOPJET_topjet_eta[100]; //[ntopjet] Float_t TOPJET_topjet_fVtxPt[100]; //[ntopjet] Float_t TOPJET_topjet_noVtxPt[100]; //[ntopjet] Float_t TOPJET_topjet_phi[100]; //[ntopjet] Float_t TOPJET_topjet_px[100]; //[ntopjet] Float_t TOPJET_topjet_py[100]; //[ntopjet] Float_t TOPJET_topjet_pz[100]; //[ntopjet] Float_t TOPJET_topjet_secvCharge[100]; //[ntopjet] Float_t TOPJET_topjet_secvChisq[100]; //[ntopjet] Float_t TOPJET_topjet_secvChisqr[100]; //[ntopjet] Float_t TOPJET_topjet_secvChisqz[100]; //[ntopjet] Float_t TOPJET_topjet_secvDl2d[100]; //[ntopjet] Float_t TOPJET_topjet_secvDl3d[100]; //[ntopjet] Float_t TOPJET_topjet_secvDlzd[100]; //[ntopjet] Float_t TOPJET_topjet_secvL2d[100]; //[ntopjet] Float_t TOPJET_topjet_secvL3d[100]; //[ntopjet] Float_t TOPJET_topjet_secvLzd[100]; //[ntopjet] Float_t TOPJET_topjet_secvMass[100]; //[ntopjet] Float_t TOPJET_topjet_secvNdtrk[100]; //[ntopjet] Float_t TOPJET_topjet_secvNtrk[100]; //[ntopjet] Float_t TOPJET_topjet_secvNvtrk[100]; //[ntopjet] Float_t TOPJET_topjet_secvPass[100]; //[ntopjet] Float_t TOPJET_topjet_secvPt[100]; //[ntopjet] Float_t TOPJET_topjet_secvTag[100]; //[ntopjet] Float_t TOPJET_topjet_secvX[100]; //[ntopjet] Float_t TOPJET_topjet_secvXerr[100]; //[ntopjet] Float_t TOPJET_topjet_secvY[100]; //[ntopjet] Float_t TOPJET_topjet_secvYerr[100]; //[ntopjet] Float_t TOPJET_topjet_secvZ[100]; //[ntopjet] Float_t TOPJET_topjet_zRMS[100]; //[ntopjet] Float_t TOPJET_topjet_zmean[100]; //[ntopjet] Float_t TOPJET_topjet_zvertex[100]; //[ntopjet] Short_t TOPJET_topjet_alg[100]; //[ntopjet] Short_t TOPJET_topjet_njets_topjet[8]; Short_t TOPJET_topjet_numtrk[100]; //[ntopjet] Short_t TOPJET_topjet_numtwrs[100]; //[ntopjet] Short_t TOPJET_topjet_twrindx[100][50]; //[ntopjet] UChar_t TOPJET_topjet_exceededLimit; Int_t TOPSUMMARY_topsum_isallhadronic; Int_t TOPSUMMARY_topsum_isdilepton; Int_t TOPSUMMARY_topsum_isleptonjet; Int_t TOPSUMMARY_topsum_isz; Float_t TOPSUMMARY_topsum_jetzvertex; Float_t TOPSUMMARY_topsum_leptonzvertex; Float_t TOPSUMMARY_topsum_metmuonvtxcorrphi; Float_t TOPSUMMARY_topsum_metmuonvtxcorrvalue; Float_t TOPSUMMARY_topsum_metrawphi; Float_t TOPSUMMARY_topsum_metrawvalue; Float_t TOPSUMMARY_topsum_metvtxcorrphi; Float_t TOPSUMMARY_topsum_metvtxcorrvalue; Int_t TOPSUMMARY_topsum_nlooseele; Int_t TOPSUMMARY_topsum_nloosejet; Int_t TOPSUMMARY_topsum_nloosemuo; Int_t TOPSUMMARY_topsum_ntightele; Int_t TOPSUMMARY_topsum_ntightjet; Int_t TOPSUMMARY_topsum_ntightmuo; Int_t TOWER_ntow; Short_t TOWER_tow_iEta[1000]; //[ntow] Short_t TOWER_tow_packedEmE[1000]; //[ntow] Short_t TOWER_tow_packedEmPhi[1000]; //[ntow] Short_t TOWER_tow_packedHadE[1000]; //[ntow] Short_t TOWER_tow_packedHadPhi[1000]; //[ntow] UChar_t TOWER_tow_exceededLimit; Int_t TRACK_ntrk; Float_t TRACK_trk_cotbc_cotTheta[300]; //[ntrk] Float_t TRACK_trk_cotbc_curv[300]; //[ntrk] Float_t TRACK_trk_cotbc_d0[300]; //[ntrk] Float_t TRACK_trk_cotbc_phi[300]; //[ntrk] Float_t TRACK_trk_cotbc_z0[300]; //[ntrk] Float_t TRACK_trk_nonbc_chi2[300]; //[ntrk] Float_t TRACK_trk_nonbc_corrdEdx[300]; //[ntrk] Float_t TRACK_trk_nonbc_corrdEdxCalc[300]; //[ntrk] Float_t TRACK_trk_nonbc_cotTheta[300]; //[ntrk] Float_t TRACK_trk_nonbc_curv[300]; //[ntrk] Float_t TRACK_trk_nonbc_d0[300]; //[ntrk] Float_t TRACK_trk_nonbc_phi[300]; //[ntrk] Float_t TRACK_trk_nonbc_pt[300]; //[ntrk] Float_t TRACK_trk_nonbc_truncHitWidthMean[300]; //[ntrk] Float_t TRACK_trk_nonbc_truncHitWidthMeanPLC[300]; //[ntrk] Float_t TRACK_trk_nonbc_z0[300]; //[ntrk] Short_t TRACK_trk_nonbc_lastLayerCT[300]; //[ntrk] Short_t TRACK_trk_nonbc_nsvxHits[300]; //[ntrk] Short_t TRACK_trk_nonbc_numHitSL[300][8]; //[ntrk] Short_t TRACK_trk_type[300]; //[ntrk] UChar_t TRACK_trk_exceededLimit; Int_t TRKDET_nTrkdet; Float_t TRKDET_trkdet_cotbc_covCuD0[75]; //[nTrkdet] Float_t TRKDET_trkdet_cotbc_covCuLambda[75]; //[nTrkdet] Float_t TRKDET_trkdet_cotbc_covCuPhi0[75]; //[nTrkdet] Float_t TRKDET_trkdet_cotbc_covCuZ0[75]; //[nTrkdet] Float_t TRKDET_trkdet_cotbc_covD0Lambda[75]; //[nTrkdet] Float_t TRKDET_trkdet_cotbc_covD0Phi0[75]; //[nTrkdet] Float_t TRKDET_trkdet_cotbc_covD0Z0[75]; //[nTrkdet] Float_t TRKDET_trkdet_cotbc_covPhi0Lambda[75]; //[nTrkdet] Float_t TRKDET_trkdet_cotbc_covPhi0Z0[75]; //[nTrkdet] Float_t TRKDET_trkdet_cotbc_covZ0Lambda[75]; //[nTrkdet] Float_t TRKDET_trkdet_cotbc_met[75]; //[nTrkdet] Float_t TRKDET_trkdet_cotbc_metPhi[75]; //[nTrkdet] Float_t TRKDET_trkdet_cotbc_sigCu2[75]; //[nTrkdet] Float_t TRKDET_trkdet_cotbc_sigD02[75]; //[nTrkdet] Float_t TRKDET_trkdet_cotbc_sigLambda2[75]; //[nTrkdet] Float_t TRKDET_trkdet_cotbc_sigPhi02[75]; //[nTrkdet] Float_t TRKDET_trkdet_cotbc_sigZ02[75]; //[nTrkdet] Float_t TRKDET_trkdet_nonbc_covCuD0[75]; //[nTrkdet] Float_t TRKDET_trkdet_nonbc_covCuLambda[75]; //[nTrkdet] Float_t TRKDET_trkdet_nonbc_covCuPhi0[75]; //[nTrkdet] Float_t TRKDET_trkdet_nonbc_covCuZ0[75]; //[nTrkdet] Float_t TRKDET_trkdet_nonbc_covD0Lambda[75]; //[nTrkdet] Float_t TRKDET_trkdet_nonbc_covD0Phi0[75]; //[nTrkdet] Float_t TRKDET_trkdet_nonbc_covD0Z0[75]; //[nTrkdet] Float_t TRKDET_trkdet_nonbc_covPhi0Lambda[75]; //[nTrkdet] Float_t TRKDET_trkdet_nonbc_covPhi0Z0[75]; //[nTrkdet] Float_t TRKDET_trkdet_nonbc_covZ0Lambda[75]; //[nTrkdet] Float_t TRKDET_trkdet_nonbc_met[75]; //[nTrkdet] Float_t TRKDET_trkdet_nonbc_metPhi[75]; //[nTrkdet] Float_t TRKDET_trkdet_nonbc_sigCu2[75]; //[nTrkdet] Float_t TRKDET_trkdet_nonbc_sigD02[75]; //[nTrkdet] Float_t TRKDET_trkdet_nonbc_sigLambda2[75]; //[nTrkdet] Float_t TRKDET_trkdet_nonbc_sigPhi02[75]; //[nTrkdet] Float_t TRKDET_trkdet_nonbc_sigZ02[75]; //[nTrkdet] Short_t TRKDET_trkdet_assSisa[75]; //[nTrkdet] Short_t TRKDET_trkdet_assTrk[75]; //[nTrkdet] UChar_t TRKDET_trkdet_exceededLimit; Int_t VERTEX_numvtx; Float_t VERTEX_vtx_chi2[10]; //[numvtx] Float_t VERTEX_vtx_cot_beamx; Float_t VERTEX_vtx_cot_beamy; Float_t VERTEX_vtx_cot_errx; Float_t VERTEX_vtx_cot_erry; Float_t VERTEX_vtx_cot_slopex; Float_t VERTEX_vtx_cot_slopey; Float_t VERTEX_vtx_mass[10]; //[numvtx] Float_t VERTEX_vtx_masserr[10]; //[numvtx] Float_t VERTEX_vtx_px[10]; //[numvtx] Float_t VERTEX_vtx_py[10]; //[numvtx] Float_t VERTEX_vtx_pz[10]; //[numvtx] Float_t VERTEX_vtx_svx_beamx; Float_t VERTEX_vtx_svx_beamy; Float_t VERTEX_vtx_svx_errx; Float_t VERTEX_vtx_svx_erry; Float_t VERTEX_vtx_svx_slopex; Float_t VERTEX_vtx_svx_slopey; Float_t VERTEX_vtx_x[10]; //[numvtx] Float_t VERTEX_vtx_y[10]; //[numvtx] Float_t VERTEX_vtx_z[10]; //[numvtx] Short_t VERTEX_vtx_chrge[10]; //[numvtx] Short_t VERTEX_vtx_ndof[10]; //[numvtx] Short_t VERTEX_vtx_ntrks[10]; //[numvtx] UChar_t VERTEX_vtx_exceededLimit; UChar_t VERTEX_vtx_prim[10]; //[numvtx] Int_t ZVTX_nzvtx; Float_t ZVTX_zvtx_met[20]; //[nzvtx] Float_t ZVTX_zvtx_metPhi[20]; //[nzvtx] Float_t ZVTX_zvtx_sumPt[20]; //[nzvtx] Float_t ZVTX_zvtx_zPos[20]; //[nzvtx] Float_t ZVTX_zvtx_zPosErr[20]; //[nzvtx] Short_t ZVTX_zvtx_nTracks[20]; //[nzvtx] Short_t ZVTX_zvtx_quality[20]; //[nzvtx] UChar_t ZVTX_zvtx_exceededLimit; //List of branches TBranch *b_CESCLST; //! TBranch *b_COSMIC; //! TBranch *b_COSMICRES; //! TBranch *b_COTNBC; //! TBranch *b_COTTIME; //! TBranch *b_CPR; //! TBranch *b_EMCLST; //! TBranch *b_GLB; //! TBranch *b_HEPG; //! TBranch *b_JETCLU; //! TBranch *b_LUM; //! TBranch *b_MET; //! TBranch *b_MU; //! TBranch *b_OBSP; //! TBranch *b_OBSV; //! TBranch *b_PESCLST; //! TBranch *b_PHOTON; //! TBranch *b_PLUGELE; //! TBranch *b_RESIDUALS; //! TBranch *b_SISA; //! TBranch *b_TOF; //! TBranch *b_TOPJET; //! TBranch *b_TOPSUMMARY; //! TBranch *b_TOWER; //! TBranch *b_TRACK; //! TBranch *b_TRKDET; //! TBranch *b_VERTEX; //! TBranch *b_ZVTX; //! ww_lepton_id(char *infile1[1500], int ntp_indx, TTree *tree=0); ~ww_lepton_id(); Int_t Cut(Int_t entry); Int_t GetEntry(Int_t entry); Int_t LoadTree(Int_t entry); void Init(TTree *tree); //-------------------------------------------------------------------------- void NumberOfEvents(); void Loop (int evts, int flag, double cut1, double cut2, char *file_name, char *directory); Bool_t Notify(); void Show(Int_t entry = -1); // //=> methods // Bool_t WWDileptonFilter(); Bool_t WWDileptonFilterMadGraph(); void WWDileptonFilter(Int_t& Id_lplus, Int_t& Id_lminus, Int_t& Id_nuplus, Int_t& Id_numinus); void checkdilepton(void); // Bool_t WWee_parton(Int_t Id_lplus, Int_t Id_lminus); Bool_t WWmumu_parton(Int_t Id_lplus, Int_t Id_lminus); Bool_t WWtautau_parton(Int_t Id_lplus, Int_t Id_lminus); Bool_t WWemu_parton(Int_t Id_lplus, Int_t Id_lminus); Bool_t WWetau_parton(Int_t Id_lplus, Int_t Id_lminus); Bool_t WWmutau_parton(Int_t Id_lplus, Int_t Id_lminus); // Int_t assochepgrec(Int_t Ilepthepg, Float_t& DeltaR); Double_t EleDeltaR(Int_t Ielehepg, Int_t Ielerec); Double_t PtHepg(Int_t Index); Double_t EtaHepg(Int_t Index); Double_t PhiHepg(Int_t Index); Double_t MuDeltaR(Int_t Ielehepg, Int_t Ielerec); // Int_t MaxPtMuon(); Int_t SecondMaxPtMuon(); Float_t MuonPx(Int_t mu); Float_t MuonPy(Int_t mu); Float_t MuonPz(Int_t mu); Float_t MuonP(Int_t mu); Float_t MuonPt(Int_t mu); Float_t UncorrMuonPt(Int_t mu); Float_t MuonE(Int_t mu); Float_t MuonTrackEta(Int_t mu); Float_t MuonTrackPhi(Int_t mu); Float_t MuonIsolation(Int_t muonIndex); Bool_t FiducialMuon(Int_t muonIndex); Bool_t FiducialMuonCMUCMP(Int_t muonIndex); Double_t Muond0(Int_t muonIndex); Double_t MuonZ0(Int_t muonIndex); Double_t Zvertex(); Int_t MuonCharge(Int_t clusterNumber); Bool_t CMUMuon(Int_t muonIndex); Bool_t CMPMuon(Int_t muonIndex); Bool_t CMUPMuon(Int_t muonIndex); Bool_t CMXMuon(Int_t muonIndex); Int_t MuonAxialHits(Int_t Index); Int_t MuonStereoHits(Int_t Index); void PrintCDFMuons(); void PrintTOPJets(); void PrintMuonDirection(Int_t imu1, Int_t imu2); void PrintElectronDirection(Int_t imu1, Int_t imu2); void PrintHtee(Int_t ie1, Int_t ie2); void PrintHtmumu(Int_t imu1, Int_t imu2); void PrintHtemu(Int_t ie, Int_t imu); void acceptancettbar(Int_t Ievprint); Bool_t GoodRun(Int_t Run_Num); Bool_t notduplicate(Int_t RunNum,Int_t EvtNum, Int_t Index); Bool_t GoodTrigger(); // void latextable(Int_t Ievprint); // // Int_t MaxPtElectron(); Int_t SecondMaxPtElectron(); Float_t ElectronZ0(Int_t clusterNumber); Int_t ElectronCharge(Int_t clusterNumber); Bool_t CentralCluster(Int_t clusterNumber, Float_t EtMin = 0, Float_t EtMax = 1000); Int_t CentralFiducialCluster(Int_t clusterNumber); void PrintBaseLineElectron(Int_t clusterNumber); void PrintBaseLinePlugElectron(Int_t clusterNumber); void PrintBaseLinePlugElectronCalDriven(Int_t clusterNumber); void DebugBaseLinePlugElectron(); void DebugBaseLinePlugElectronCalDriven(); Bool_t PlugCluster(Int_t clusterNumber); Bool_t PlugClusterCalDriven(Int_t clusterNumber); void FillBaseLineElectronBefore(Int_t clusterNumber); void FillBaseLineElectronAfter(Int_t clusterNumber); void PrintBaseLineMuon(Int_t clusterNumber); void FillBaseLineMuonBefore(Int_t clusterNumber); void FillBaseLineMuonAfter(Int_t clusterNumber); Bool_t BaseLineElectron(Int_t clusterNumber, Float_t EtMin, Float_t EtMax); Bool_t BaseLinePlugElectron(Int_t clusterNumber); Double_t PlugDrPEMPES(Int_t plugeleNumber); Double_t PlugDrTrkSAPES(Int_t plugeleNumber); Double_t PlugDrTrkPhxPES(Int_t plugeleNumber); Float_t IsoBaseLineElectron(Int_t clusterNumber); Bool_t BaseLineMuon(Int_t clusterNumber); Bool_t BaseLineStubMuon(Int_t clusterNumber); Float_t IsoBaseLineMuon(Int_t clusterNumber); Int_t electronCOTtrackquality(Int_t clusterNumber); Int_t muonCOTtrackquality(Int_t clusterNumber); Float_t ElectronE(Int_t clusterNumber); Float_t ElectronEt(Int_t clusterNumber); Float_t ElectronEx(Int_t clusterNumber); Float_t ElectronEy(Int_t clusterNumber); Float_t ElectronEz(Int_t clusterNumber); Float_t ElectronP(Int_t clusterNumber); Float_t ElectronPt(Int_t clusterNumber); Float_t UncorrElectronPt(Int_t clusterNumber); Float_t ElectronPx(Int_t clusterNumber); Float_t ElectronPy(Int_t clusterNumber); Float_t ElectronPz(Int_t clusterNumber); Float_t ElectronEoverP(Int_t clusterNumber); Float_t ElectronTrackTheta(Int_t clusterNumber); Float_t ElectronTrackEta(Int_t clusterNumber); Float_t ElectronTrackPhi(Int_t clusterNumber); Float_t TrackTheta(Int_t trackNumber); Float_t TrackEta(Int_t trackNumber); Float_t TrackPt(Int_t trackNumber); Float_t TrackPx(Int_t trackNumber); Float_t TrackPy(Int_t trackNumber); Float_t TrackPz(Int_t trackNumber); Float_t TrackP(Int_t trackNumber); Float_t ChiStrip(Int_t clusterNumber); Float_t EleCorrStripChi2(Int_t clusterNumber); Float_t EleCorrEmE(Int_t clusterNumber); Float_t EleCorrEmEt(Int_t clusterNumber); Float_t EleEmEt(Int_t clusterNumber); Int_t ElectronStereoHits(Int_t Index); Int_t ElectronAxialHits(Int_t Index); Double_t CesLocalCoor(Int_t clusterNumber); Double_t CesGlobalCoor(Int_t clusterNumber); Double_t jetEnergyCorr(int ijet, int level=7); void printelectronefficiency(void); void printmuonefficiency(void); Int_t ElectronIdEfficiency(Int_t clusterNumber); Int_t MuonIdEfficiency(Int_t clusterNumber); void ElectronIdEfficiencyCompute(void); Int_t EleHepgCounter(Int_t& Nhepgele); Int_t MuHepgCounter(Int_t& Nhepgmu); void ElectronIdEfficiencyAlgorithm(Int_t& jentry); void MuonIdEfficiencyAlgorithm(void); Int_t EleHepgFinder(Int_t Ielerec, Double_t& mindeltar); Int_t MuHepgFinder(Int_t Imurec, Double_t& mindeltar); void DileptonCategoryAlgorithm(Int_t * IdRecEle, Int_t * IdRecMuon, Int_t& NRecEle, Int_t& NRecMuon); Int_t LabelDileptonCategory(Int_t * IdRecEle, Int_t * IdRecMuon, Int_t& NRecEle, Int_t& NRecMuon, Int_t& DilepRec); void PrintDileptonCategoryAlgorithm(Int_t * IdRecEle, Int_t * IdRecMuon, Int_t& NRecEle, Int_t& NRecMuon); Int_t ClassifyDileptonCategory(Int_t NRecEle, Int_t NRecMuon); void Rec_Source(Int_t * IdRecEle, Int_t * IdRecMuon, Int_t& NRecEle, Int_t& NRecMuon, Int_t DilepFlag, Int_t DilepRec); // Float_t ZmumuMass(Int_t mu1,Int_t mu2); Float_t ZeeMass(Int_t e1,Int_t e2); // Float_t Htee(Int_t ie1,Int_t ie2); Float_t Htmumu(Int_t imu1,Int_t imu2); Float_t Htemu(Int_t ie,Int_t imu); Float_t HteeTow(Int_t ie1,Int_t ie2); Float_t HtmumuTow(Int_t imu1,Int_t imu2); Float_t HtemuTow(Int_t ie,Int_t imu); // Double_t DeltaPhiMetAny(Float_t Pljx, Float_t Pljy); Double_t DeltaPhiMetUncAny(Float_t Pljx, Float_t Pljy); Double_t DeltaPhiMetAny_dev(Float_t Pljx, Float_t Pljy); Double_t DPhiMetDee(Int_t ie1,Int_t ie2); Double_t DPhiMetDmumu(Int_t imu1,Int_t imu2); Double_t DPhiMetDmumu_dev(Int_t imu1,Int_t imu2); Double_t DPhiMetDemu(Int_t ie,Int_t imu); Double_t ElePt(Int_t ie); Double_t DPhiee(Int_t ie1,Int_t ie2); Double_t DPhimumu(Int_t imu1,Int_t imu2); Double_t DPhiemu(Int_t ie,Int_t imu); // Double_t MetCorrMuon(); Double_t MetCorrMuonPhi(); // void GeomTowEta(); void PrintGeomTowEta(); Double_t TowTheta(Int_t ITow); Double_t TowEmE(Int_t ITow); Double_t TowEmPhi(Int_t ITow); Double_t TowHadE(Int_t ITow); Double_t TowHadPhi(Int_t ITow); // // Int_t NTightJet(); // void FillJets(); void FillMet(Int_t Iflag); void FillDPhiMet(Int_t Iflag, Int_t ilep1, Int_t ilep2); void FillInvariantMass(Int_t Iflag, Int_t ilep1, Int_t ilep2); void FillInvariantMassB(Int_t Iflag, Int_t ilep1, Int_t ilep2); void FillInvariantMassA(Int_t Iflag, Int_t ilep1, Int_t ilep2); void FillHt(Int_t Iflag, Int_t ilep1, Int_t ilep2); void FillDPhiEleJetEE(Int_t ilep1, Int_t ilep2); void FillWWeeCandidateHistos(Int_t ilep1, Int_t ilep2); void FillWWmumuCandidateHistos(Int_t ilep1, Int_t ilep2); void FillWWemuCandidateHistos(Int_t ilep1, Int_t ilep2); void FillWWeeCandidateHistosBHT(Int_t ilep1, Int_t ilep2); void FillWWmumuCandidateHistosBHT(Int_t ilep1, Int_t ilep2); void FillWWemuCandidateHistosBHT(Int_t ilep1, Int_t ilep2); void FilltteeCandidateHistos(Int_t ilep1, Int_t ilep2); void FillttmumuCandidateHistos(Int_t ilep1, Int_t ilep2); void FillttemuCandidateHistos(Int_t ilep1, Int_t ilep2); void FilltteeCandidateHistosBHT(Int_t ilep1, Int_t ilep2); void FillttmumuCandidateHistosBHT(Int_t ilep1, Int_t ilep2); void FillttemuCandidateHistosBHT(Int_t ilep1, Int_t ilep2); void Fill1jeeCandidateHistos(Int_t ilep1, Int_t ilep2); void Fill1jmumuCandidateHistos(Int_t ilep1, Int_t ilep2); void Fill1jemuCandidateHistos(Int_t ilep1, Int_t ilep2); Bool_t CorDREleJetEE(Int_t ilep1, Int_t ilep2); Bool_t CorDRLeptonJet(Int_t IFlag,Int_t ilep1, Int_t ilep2); // Int_t tteeCandidate(Int_t ierec1, Int_t ierec2); Int_t ttemuCandidate(Int_t ierec, Int_t imurec); Int_t ttmumuCandidate(Int_t imurec1, Int_t imurec2); // void Print_tteeCandidate(Int_t ierec1, Int_t ierec2); void Print_ttemuCandidate(Int_t ierec, Int_t imurec); void Print_ttmumuCandidate(Int_t imurec1, Int_t imurec2); void PrintLatexCutTable(); // Double_t Tower_ThetaMin[TOWER_NETA]; Double_t Tower_ThetaMax[TOWER_NETA]; Double_t Tower_Theta[TOWER_NETA]; // // Int_t Nttee[16]; Int_t Nttemu[16]; Int_t Nttemu20[16]; Int_t Nttemu21[16]; Int_t Nttemu22[16]; Int_t Nttemu23[16]; Int_t Nttmumu[16]; Int_t Nttmumu10[16]; Int_t Nttmumu11[16]; Int_t Nttmumu12[16]; Int_t Nttmumu13[16]; Int_t Nttmumu14[16]; Int_t Nttmumu15[16]; Int_t Nttmumu16[16]; Int_t Nttmumu17[16]; Int_t Nttmumu18[16]; Int_t Nttmumu19[16]; // Int_t Nwwee[16]; Int_t Nwwemu[16]; Int_t Nwwemu20[16]; Int_t Nwwemu21[16]; Int_t Nwwemu22[16]; Int_t Nwwemu23[16]; Int_t Nwwmumu[16]; Int_t Nwwmumu10[16]; Int_t Nwwmumu11[16]; Int_t Nwwmumu12[16]; Int_t Nwwmumu13[16]; Int_t Nwwmumu14[16]; Int_t Nwwmumu15[16]; Int_t Nwwmumu16[16]; Int_t Nwwmumu17[16]; Int_t Nwwmumu18[16]; Int_t Nwwmumu19[16]; // Int_t N1jee[16]; Int_t N1jemu[16]; Int_t N1jemu20[16]; Int_t N1jemu21[16]; Int_t N1jemu22[16]; Int_t N1jemu23[16]; Int_t N1jmumu[16]; Int_t N1jmumu10[16]; Int_t N1jmumu11[16]; Int_t N1jmumu12[16]; Int_t N1jmumu13[16]; Int_t N1jmumu14[16]; Int_t N1jmumu15[16]; Int_t N1jmumu16[16]; Int_t N1jmumu17[16]; Int_t N1jmumu18[16]; Int_t N1jmumu19[16]; // Int_t Nttee7b; Int_t Nttee8b; Int_t Nttee9b; // // Int_t Nttee_ht_100; Int_t Nttee_ht_100_os; Int_t Nttee_ht_150; Int_t Nttee_ht_150_os; Int_t Nttee_ht_200; Int_t Nttee_ht_200_os; Int_t Nttee_ht_250; Int_t Nttee_ht_250_os; // Int_t Nttmumu_ht_100; Int_t Nttmumu_ht_100_os; Int_t Nttmumu_ht_150; Int_t Nttmumu_ht_150_os; Int_t Nttmumu_ht_200; Int_t Nttmumu_ht_200_os; Int_t Nttmumu_ht_250; Int_t Nttmumu_ht_250_os; // Int_t Nttmumu10_ht_100; Int_t Nttmumu10_ht_100_os; Int_t Nttmumu10_ht_150; Int_t Nttmumu10_ht_150_os; Int_t Nttmumu10_ht_200; Int_t Nttmumu10_ht_200_os; Int_t Nttmumu10_ht_250; Int_t Nttmumu10_ht_250_os; // Int_t Nttmumu11_ht_100; Int_t Nttmumu11_ht_100_os; Int_t Nttmumu11_ht_150; Int_t Nttmumu11_ht_150_os; Int_t Nttmumu11_ht_200; Int_t Nttmumu11_ht_200_os; Int_t Nttmumu11_ht_250; Int_t Nttmumu11_ht_250_os; // Int_t Nttmumu12_ht_100; Int_t Nttmumu12_ht_100_os; Int_t Nttmumu12_ht_150; Int_t Nttmumu12_ht_150_os; Int_t Nttmumu12_ht_200; Int_t Nttmumu12_ht_200_os; Int_t Nttmumu12_ht_250; Int_t Nttmumu12_ht_250_os; // Int_t Nttmumu16_ht_100; Int_t Nttmumu16_ht_100_os; Int_t Nttmumu16_ht_150; Int_t Nttmumu16_ht_150_os; Int_t Nttmumu16_ht_200; Int_t Nttmumu16_ht_200_os; Int_t Nttmumu16_ht_250; Int_t Nttmumu16_ht_250_os; // Int_t Nttmumu17_ht_100; Int_t Nttmumu17_ht_100_os; Int_t Nttmumu17_ht_150; Int_t Nttmumu17_ht_150_os; Int_t Nttmumu17_ht_200; Int_t Nttmumu17_ht_200_os; Int_t Nttmumu17_ht_250; Int_t Nttmumu17_ht_250_os; // Int_t Nttmumu18_ht_100; Int_t Nttmumu18_ht_100_os; Int_t Nttmumu18_ht_150; Int_t Nttmumu18_ht_150_os; Int_t Nttmumu18_ht_200; Int_t Nttmumu18_ht_200_os; Int_t Nttmumu18_ht_250; Int_t Nttmumu18_ht_250_os; // Int_t Nttmumu19_ht_100; Int_t Nttmumu19_ht_100_os; Int_t Nttmumu19_ht_150; Int_t Nttmumu19_ht_150_os; Int_t Nttmumu19_ht_200; Int_t Nttmumu19_ht_200_os; Int_t Nttmumu19_ht_250; Int_t Nttmumu19_ht_250_os; // // Int_t Nttemu_ht_100; Int_t Nttemu_ht_100_os; Int_t Nttemu_ht_150; Int_t Nttemu_ht_150_os; Int_t Nttemu_ht_200; Int_t Nttemu_ht_200_os; Int_t Nttemu_ht_250; Int_t Nttemu_ht_250_os; // // Int_t Nttemu20_ht_100; Int_t Nttemu20_ht_100_os; Int_t Nttemu20_ht_150; Int_t Nttemu20_ht_150_os; Int_t Nttemu20_ht_200; Int_t Nttemu20_ht_200_os; Int_t Nttemu20_ht_250; Int_t Nttemu20_ht_250_os; // // Int_t Nttemu21_ht_100; Int_t Nttemu21_ht_100_os; Int_t Nttemu21_ht_150; Int_t Nttemu21_ht_150_os; Int_t Nttemu21_ht_200; Int_t Nttemu21_ht_200_os; Int_t Nttemu21_ht_250; Int_t Nttemu21_ht_250_os; // // Int_t Nttemu22_ht_100; Int_t Nttemu22_ht_100_os; Int_t Nttemu22_ht_150; Int_t Nttemu22_ht_150_os; Int_t Nttemu22_ht_200; Int_t Nttemu22_ht_200_os; Int_t Nttemu22_ht_250; Int_t Nttemu22_ht_250_os; // // Int_t Nttemu23_ht_100; Int_t Nttemu23_ht_100_os; Int_t Nttemu23_ht_150; Int_t Nttemu23_ht_150_os; Int_t Nttemu23_ht_200; Int_t Nttemu23_ht_200_os; Int_t Nttemu23_ht_250; Int_t Nttemu23_ht_250_os; // Int_t Nwwee_ht_150_os; Int_t Nwwee_ht_200_os; Int_t Nwwee_ht_250_os; Int_t Nwwee_ht_300_os; // Int_t Nwwmumu_ht_150_os; Int_t Nwwmumu_ht_200_os; Int_t Nwwmumu_ht_250_os; Int_t Nwwmumu_ht_300_os; // Int_t Nwwemu_ht_150_os; Int_t Nwwemu_ht_200_os; Int_t Nwwemu_ht_250_os; Int_t Nwwemu_ht_300_os; // Int_t Nwwee_htow_150_os; Int_t Nwwee_htow_200_os; Int_t Nwwee_htow_250_os; Int_t Nwwee_htow_300_os; // Int_t Nwwmumu_htow_150_os; Int_t Nwwmumu_htow_200_os; Int_t Nwwmumu_htow_250_os; Int_t Nwwmumu_htow_300_os; // Int_t Nwwemu_htow_150_os; Int_t Nwwemu_htow_200_os; Int_t Nwwemu_htow_250_os; Int_t Nwwemu_htow_300_os; // Int_t Nwwee_ht1j_150_os; Int_t Nwwee_ht1j_200_os; Int_t Nwwee_ht1j_250_os; Int_t Nwwee_ht1j_300_os; // Int_t Nwwmumu_ht1j_150_os; Int_t Nwwmumu_ht1j_200_os; Int_t Nwwmumu_ht1j_250_os; Int_t Nwwmumu_ht1j_300_os; // Int_t Nwwemu_ht1j_150_os; Int_t Nwwemu_ht1j_200_os; Int_t Nwwemu_ht1j_250_os; Int_t Nwwemu_ht1j_300_os; // // Int_t ssee; Int_t ssmumu; Int_t ssemu; }; #endif #ifdef ww_lepton_id_cxx ww_lepton_id::ww_lepton_id(char *infile1[1500], int ntp_indx, TTree *tree) { // if parameter tree is not specified (or zero), connect the file // used to generate this class and read the Tree. if (tree == 0) { #ifdef SINGLE_TREE // The following code should be used if you want this class to access // a single tree instead of a chain TFile *f = (TFile*)gROOT->GetListOfFiles()->FindObject("Memory Directory"); if (!f) { f = new TFile("Memory Directory"); f->cd("Rint:/"); } tree = (TTree*)gDirectory->Get("myele/prod"); #else // SINGLE_TREE // The following code should be used if you want this class to access a chain // of trees. TChain * chain = new TChain("myele/prod",""); for(int files = 0;filesAdd(infile1[files]); tree = chain; #endif // SINGLE_TREE } Init(tree); } ww_lepton_id::~ww_lepton_id() { if (!fChain) return; delete fChain->GetCurrentFile(); } Int_t ww_lepton_id::GetEntry(Int_t entry) { // Read contents of entry. if (!fChain) return 0; return fChain->GetEntry(entry); } Int_t ww_lepton_id::LoadTree(Int_t entry) { // Set the environment to read one entry if (!fChain) return -5; Int_t centry = fChain->LoadTree(entry); if (centry < 0) return centry; if (fChain->IsA() != TChain::Class()) return centry; TChain *chain = (TChain*)fChain; if (chain->GetTreeNumber() != fCurrent) { fCurrent = chain->GetTreeNumber(); Notify(); } return centry; } void ww_lepton_id::Init(TTree *tree) { // Set branch addresses if (tree == 0) return; fChain = tree; fCurrent = -1; // fChain->SetMakeClass(1); fChain->SetBranchAddress("CESCLST",&CESCLST_ncesclst); fChain->SetBranchAddress("COSMIC",&COSMIC_nCosmic); fChain->SetBranchAddress("COSMICRES",&COSMICRES_nCosmicRes); fChain->SetBranchAddress("COTNBC",&COTNBC_ncotnbc); fChain->SetBranchAddress("COTTIME",&COTTIME_nCot); fChain->SetBranchAddress("CPR",&CPR_nCpr); fChain->SetBranchAddress("EMCLST",&EMCLST_ncl); fChain->SetBranchAddress("GLB",&GLB_CdfSoftNtupleVersion); fChain->SetBranchAddress("HEPG",&HEPG_nhepg); fChain->SetBranchAddress("JETCLU",&JETCLU_njetclu); fChain->SetBranchAddress("LUM",&LUM_lum_glive_inst); fChain->SetBranchAddress("MET",&MET_met); fChain->SetBranchAddress("MU",&MU_nMuon); fChain->SetBranchAddress("OBSP",&OBSP_nObsp); fChain->SetBranchAddress("OBSV",&OBSV_nObsv); fChain->SetBranchAddress("PESCLST",&PESCLST_npesclst); fChain->SetBranchAddress("PHOTON",&PHOTON_npho); fChain->SetBranchAddress("PLUGELE",&PLUGELE_npl); fChain->SetBranchAddress("RESIDUALS",&RESIDUALS_nRes); fChain->SetBranchAddress("SISA",&SISA_nsisa); fChain->SetBranchAddress("TOF",&TOF_ntof); fChain->SetBranchAddress("TOPJET",&TOPJET_ntopjet); fChain->SetBranchAddress("TOPSUMMARY",&TOPSUMMARY_topsum_isallhadronic); fChain->SetBranchAddress("TOWER",&TOWER_ntow); fChain->SetBranchAddress("TRACK",&TRACK_ntrk); fChain->SetBranchAddress("TRKDET",&TRKDET_nTrkdet); fChain->SetBranchAddress("VERTEX",&VERTEX_numvtx); fChain->SetBranchAddress("ZVTX",&ZVTX_nzvtx); Notify(); } Bool_t ww_lepton_id::Notify() { // Called when loading a new file. // Get branch pointers. b_CESCLST = fChain->GetBranch("CESCLST"); b_COSMIC = fChain->GetBranch("COSMIC"); b_COSMICRES = fChain->GetBranch("COSMICRES"); b_COTNBC = fChain->GetBranch("COTNBC"); b_COTTIME = fChain->GetBranch("COTTIME"); b_CPR = fChain->GetBranch("CPR"); b_EMCLST = fChain->GetBranch("EMCLST"); b_GLB = fChain->GetBranch("GLB"); b_HEPG = fChain->GetBranch("HEPG"); b_JETCLU = fChain->GetBranch("JETCLU"); b_LUM = fChain->GetBranch("LUM"); b_MET = fChain->GetBranch("MET"); b_MU = fChain->GetBranch("MU"); b_OBSP = fChain->GetBranch("OBSP"); b_OBSV = fChain->GetBranch("OBSV"); b_PESCLST = fChain->GetBranch("PESCLST"); b_PHOTON = fChain->GetBranch("PHOTON"); b_PLUGELE = fChain->GetBranch("PLUGELE"); b_RESIDUALS = fChain->GetBranch("RESIDUALS"); b_SISA = fChain->GetBranch("SISA"); b_TOF = fChain->GetBranch("TOF"); b_TOPJET = fChain->GetBranch("TOPJET"); b_TOPSUMMARY = fChain->GetBranch("TOPSUMMARY"); b_TOWER = fChain->GetBranch("TOWER"); b_TRACK = fChain->GetBranch("TRACK"); b_TRKDET = fChain->GetBranch("TRKDET"); b_VERTEX = fChain->GetBranch("VERTEX"); b_ZVTX = fChain->GetBranch("ZVTX"); return kTRUE; } void ww_lepton_id::Show(Int_t entry) { // Print contents of entry. // If entry is not specified, print current entry if (!fChain) return; fChain->Show(entry); } Int_t ww_lepton_id::Cut(Int_t entry) { // This function may be called from Loop. // returns 1 if entry is accepted. // returns -1 otherwise. return 1; } double ww_lepton_id::jetEnergyCorr(int ijet, int level) { int nrun = GLB_nrun; int nVertex = 0; for(int i=0; i= 12) nVertex++; } const int coneSize=0; // 0=0.4, 1=0.7 and 2=1.0 int version=2; if(isMC){version=0;} // 0= Monte Carlo , 2=data (Feb. 2003) const int syscode=0; // defaults values JetEnergyCorrections b("JetCorrections","JetCorrections",level,nVertex,coneSize,version,syscode,nrun); float pt= sqrt(TOPJET_topjet_px[ijet]*TOPJET_topjet_px[ijet]+TOPJET_topjet_py[ijet]*TOPJET_topjet_py[ijet]); float em=TOPJET_topjet_emfrac[ijet]; float &emFraction=em; float DetJet=TOPJET_topjet_deteta[ijet]; double scaleFactor = b.doEnergyCorrections(pt,emFraction,DetJet); if(useJetCorr){return scaleFactor;} else{return 1;} } Bool_t ww_lepton_id::WWDileptonFilter() { Int_t Id_Wplus=-111; Int_t Id_lplus=-111; Int_t Id_nuplus=-111; Int_t Id_Wminus=-111; Int_t Id_lminus=-111; Int_t Id_numinus=-111; // // First we locate W+ and W- for(Int_t j=0; jtau- nu ]" << HEPG_hepg_Id[l] << endl;} Id_lplus=l; break; } } // for(Int_t lm=0; lmtau+ nu ]" << HEPG_Id[l] << endl;} Id_lminus=m; break; } } // for(Int_t mm=0; mm15.)&&(pt5>15.)&&(fabs(eta3)<2.5)&&(fabs(eta5)<2.5)){ // hww->hepg_im34->Fill(mass34); hww->hepg_im56->Fill(mass56); hww->hepg_pt34->Fill(transmom34); hww->hepg_pt56->Fill(transmom56); hww->hepg_im3456->Fill(mass3456); hww->hepg_pt3456->Fill(transmom3456); // hww->hepg_imw->Fill(mass34); hww->hepg_imw->Fill(mass56); hww->hepg_ptw->Fill(transmom34); hww->hepg_ptw->Fill(transmom56); // hww->hepg_E3->Fill(E3); hww->hepg_E4->Fill(E4); hww->hepg_E5->Fill(E5); hww->hepg_E6->Fill(E6); // // hww->hepg_Pt3->Fill(pt3); hww->hepg_Pt4->Fill(pt4); hww->hepg_Pt5->Fill(pt5); hww->hepg_Pt6->Fill(pt6); // // hww->hepg_dR35->Fill(dR35); hww->hepg_dphi35->Fill(dphi35); // Dean adds: hww->hepg_im35->Fill(mass35); hww->hepg_pt35->Fill(transmom35); // // TVector3 boost = -(p5+p6).BoostVector(); p5.Boost(boost); p56.Boost(boost); Double_t dphi565 = p56.DeltaPhi(p5); Double_t Eta56atrest = p56.Eta(); // Double_t ptmin = TMath::Min(pt3,pt5); Double_t ptmax = TMath::Max(pt3,pt5); hww->hepg_Ptmax->Fill(ptmax); hww->hepg_Ptmin->Fill(ptmin); hww->hepg_Ptl->Fill(pt3); hww->hepg_Ptl->Fill(pt5); hww->hepg_Ptnunu->Fill(met); // hww->hepg_dphi565->Fill(dphi565); hww->hepg_eta56arest->Fill(Eta56atrest); // } // } return true; } Bool_t ww_lepton_id::WWDileptonFilterMadGraph() { Int_t Id_Wplus=-111; Int_t Id_lplus=-111; Int_t Id_nuplus=-111; Int_t Id_Wminus=-111; Int_t Id_lminus=-111; Int_t Id_numinus=-111; // for(Int_t l=0; ltau- nu ]" << HEPG_hepg_Id[l] << endl;} Id_lplus=l; break; } } // for(Int_t lm=0; lmtau+ nu ]" << HEPG_Id[l] << endl;} Id_lminus=m; break; } } // for(Int_t mm=0; mmhepg_im34->Fill(mass34); hww->hepg_im56->Fill(mass56); hww->hepg_pt34->Fill(transmom34); hww->hepg_pt56->Fill(transmom56); hww->hepg_im3456->Fill(mass3456); hww->hepg_pt3456->Fill(transmom3456); // hww->hepg_imw->Fill(mass34); hww->hepg_imw->Fill(mass56); hww->hepg_ptw->Fill(transmom34); hww->hepg_ptw->Fill(transmom56); // hww->hepg_E3->Fill(E3); hww->hepg_E4->Fill(E4); hww->hepg_E5->Fill(E5); hww->hepg_E6->Fill(E6); // // hww->hepg_Pt3->Fill(pt3); hww->hepg_Pt4->Fill(pt4); hww->hepg_Pt5->Fill(pt5); hww->hepg_Pt6->Fill(pt6); // // hww->hepg_dR35->Fill(dR35); hww->hepg_dphi35->Fill(dphi35); // Dean adds: hww->hepg_im35->Fill(mass35); hww->hepg_pt35->Fill(transmom35); // if((pt3>15.)&&(pt5>15.)&&(fabs(eta3)<2.)&&(fabs(eta5)<2.)){ // TVector3 boost = -(p5+p6).BoostVector(); p5.Boost(boost); Double_t dphi565 = (p5+p6).DeltaPhi(p5); Double_t Eta56atrest = (p5+p6).Eta(); // Double_t ptmin = TMath::Min(pt3,pt5); Double_t ptmax = TMath::Max(pt3,pt5); hww->hepg_Ptmax->Fill(ptmax); hww->hepg_Ptmin->Fill(ptmin); hww->hepg_Ptl->Fill(pt3); hww->hepg_Ptl->Fill(pt5); hww->hepg_Ptnunu->Fill(met); // hww->hepg_dphi565->Fill(dphi565); hww->hepg_eta56arest->Fill(Eta56atrest); // } // } return true; } void ww_lepton_id::WWDileptonFilter(Int_t& Id_lplus, Int_t& Id_lminus, Int_t& Id_nuplus, Int_t& Id_numinus) { Int_t Id_Wplus=-111; Id_lplus=-111; Id_nuplus=-111; Int_t Id_Wminus=-111; Id_lminus=-111; Id_numinus=-111; // // First we locate W+ and W- for(Int_t j=0; j-1){ // // =>Assoc HEPG_REC // // float deltar=EleDeltaR(Ilepthepg,ele); // // if(deltar-1){ float deltar=MuDeltaR(Ilepthepg,mu); if(deltarmaxpt) { maxpt = elept; maxcl = ele; } } return maxcl; } Int_t ww_lepton_id::SecondMaxPtElectron() { // // return the index of the 2nd Em cluster with // maximum pt of the maxPtTrack associated // Int_t maxcl2 = -1; Int_t maxcl = MaxPtElectron(); Float_t maxpt2 = 0.0; for(int ele = 0; elemaxpt2 && ele!=maxcl) { maxpt2 = elept; maxcl2 = ele; } } return maxcl2; } Float_t ww_lepton_id::ElectronZ0(Int_t clusterNumber) { //returns the transverse momentum of the maxPtTrack associated with //the cluster if (clusterNumber>-1 && EMCLST_ele_maxPtTrackIndex[clusterNumber]>-1) { Int_t itrk=EMCLST_ele_maxPtTrackIndex[clusterNumber]; return TRACK_trk_cotbc_z0[itrk]; } else return -999.; } Int_t ww_lepton_id::ElectronCharge(Int_t clusterNumber) { //returns the transverse momentum of the maxPtTrack associated with //the cluster return EMCLST_ele_std_charge[clusterNumber]; } void ww_lepton_id::FillBaseLineElectronBefore(Int_t clusterNumber) { hww->hbe_et->Fill(EMCLST_ele_std_Et[clusterNumber]); hww->hbe_pt->Fill(ElePt(clusterNumber)); hww->hbe_eop->Fill(EMCLST_ele_std_EOverP[clusterNumber]); hww->hbe_z0->Fill(EMCLST_ele_std_vertexZ[clusterNumber]); hww->hbe_hadoem->Fill(EMCLST_ele_std_hadEm[clusterNumber]); hww->hbe_lshr->Fill(EMCLST_ele_std_lshr[clusterNumber]); hww->hbe_csdeltax->Fill(EMCLST_ele_std_qDeltaX[clusterNumber]); hww->hbe_deltaz->Fill(EMCLST_ele_std_deltaZ[clusterNumber]); hww->hbe_chi2->Fill(EMCLST_ele_std_cesStripChi[clusterNumber]); hww->hbe_fcaliso->Fill(IsoBaseLineElectron(clusterNumber)); hww->hbe_trketa->Fill(ElectronTrackEta(clusterNumber)); hww->hbe_trkphi->Fill(ElectronTrackPhi(clusterNumber)); } void ww_lepton_id::FillBaseLineElectronAfter(Int_t clusterNumber) { hww->hbec_et->Fill(EMCLST_ele_std_Et[clusterNumber]); hww->hbec_pt->Fill(ElePt(clusterNumber)); hww->hbec_eop->Fill(EMCLST_ele_std_EOverP[clusterNumber]); hww->hbec_z0->Fill(EMCLST_ele_std_vertexZ[clusterNumber]); hww->hbec_hadoem->Fill(EMCLST_ele_std_hadEm[clusterNumber]); hww->hbec_lshr->Fill(EMCLST_ele_std_lshr[clusterNumber]); hww->hbec_csdeltax->Fill(EMCLST_ele_std_qDeltaX[clusterNumber]); hww->hbec_deltaz->Fill(EMCLST_ele_std_deltaZ[clusterNumber]); hww->hbec_chi2->Fill(EMCLST_ele_std_cesStripChi[clusterNumber]); hww->hbec_fcaliso->Fill(IsoBaseLineElectron(clusterNumber)); hww->hbec_trketa->Fill(ElectronTrackEta(clusterNumber)); hww->hbec_trkphi->Fill(ElectronTrackPhi(clusterNumber)); } void ww_lepton_id::PrintBaseLineElectron(Int_t clusterNumber) { // // BASELINE CUTS // cout << "--------------------------------------------------------------------------------------------------------------------------" << endl; cout << " -- BASELINE ID CUTS FOR ELECTRON => " << clusterNumber << endl; cout << "(*)1.- Et(two-twer Em sum * sin(theta) of track) > 20 GeV => " << EMCLST_ele_std_Et[clusterNumber] << endl; cout << "2.- Track Pt (COT-only beam-constrained track)> 10 GeV => " << UncorrElectronPt(clusterNumber) << endl; cout << "3.- E/P (for Et < 50 GeV only) < 2.0 => " < " << EMCLST_ele_std_vertexZ[clusterNumber] << endl; cout << "5.- Had/Em < 0.055 + 0.00045 * E => " << EMCLST_ele_std_hadEm[clusterNumber] << " < " << 0.055 + 0.00045*EleCorrEmEt(clusterNumber)<< endl; cout << "(*)6.- Lshr (using track-based strip cluster,z0 of track)<2 => " << EMCLST_ele_std_lshr[clusterNumber] << endl; cout << "7.- charge-signed DeltaX -3.0 < Q_trk * deltaX < 1.5 cm => " << EMCLST_ele_std_qDeltaX[clusterNumber] << endl; cout << "8.- | DeltaZ | < 3.0 cm => " << EMCLST_ele_std_deltaZ[clusterNumber] << endl; cout << "9.- Chi2 Strips < 10. => " << EMCLST_ele_std_cesStripChi[clusterNumber] << endl; cout << "10.- Fidutial: standard fidele => " << EMCLST_ele_std_fid[clusterNumber] << endl; cout << "10.- Fidutial: fidEleShrMax[clusterNumber] => " << EMCLST_ele_fidEleShrMax[clusterNumber] << endl; cout << "--------------------------------------------------------------------------------------------------------------------------" << endl; cout << "11.- Fractional Cal. Iso. Et (PJW leakage corr) <0.1 => " << EMCLST_ele_std_calIsoRatio[clusterNumber] << endl; Int_t cotqf=electronCOTtrackquality(clusterNumber); cout << "12.- COT track quality: 3 axial and 3 stereo SL with 6 hits each => " << cotqf << endl; cout << "--------------------------------------------------------------------------------------------------------------------------" << endl; } Bool_t ww_lepton_id::BaseLineElectron(Int_t clusterNumber, Float_t EtMin, Float_t EtMax) { //returns true if emcluster is a central cluster , has a valid //maxPtTrackIndex, and fulfills electron cuts on Delx, Delz, Ces Strip Chi2, //Ces Wire Chi2, track isolation, lshare, (total Et isolation)/Et, //E/P, and HadE/EmE // Float_t SlidingCutHadEm = 0.055 + 0.00045*EMCLST_ele_std_E[clusterNumber]; Float_t EoPCut=0.; if(UncorrElectronPt(clusterNumber)<50.){ EoPCut=2.; } else{ EoPCut=10000000.; } if ( //CentralCluster(clusterNumber, EtMin, EtMax) && // Redundant EMCLST_ele_maxPtTrackIndex[clusterNumber]>-1 && // EMCLST_ele_std_Et[clusterNumber]>20. && // 1.- Et(two-twer Em sum * sin(theta) of track) > 20 GeV UncorrElectronPt(clusterNumber)> 10. && // 2.- Track Pt (COT-only beam-constrained track)> 10 GeV EMCLST_ele_std_EOverP[clusterNumber]< EoPCut && // 3.- E/P (for Et < 50 GeV only) < 2.0 TMath::Abs(EMCLST_ele_std_vertexZ[clusterNumber])< 60. && // 4.- Track | z0 | EMCLST_ele_std_hadEm[clusterNumber]< SlidingCutHadEm && // 5.- Had/Em < 0.055 + 0.00045 * E EMCLST_ele_std_lshr[clusterNumber] < 0.2 && // 6.- Lshr (using track-based strip cluster,z0 of track) EMCLST_ele_std_qDeltaX[clusterNumber] < 1.5 && // 7.- charge-signed DeltaX -3.0 < Q_trk * deltaX < 1.5 cm EMCLST_ele_std_qDeltaX[clusterNumber] > -3. && // 7.- charge-signed DeltaX -3.0 < Q_trk * deltaX < 1.5 cm TMath::Abs(EMCLST_ele_std_deltaZ[clusterNumber]) < 3 && // 8.- | DeltaZ | < 3.0 cm EMCLST_ele_std_cesStripChi[clusterNumber] < 10. && // 9.- Chi2 Strips < 10. EMCLST_ele_std_cesStripChi[clusterNumber] > -999. && // EMCLST_ele_std_fid[clusterNumber] ==1 && // // Isolation in a different method. // EMCLST_isoLkgCorrEnBased[clusterNumber]/EleCorrEmEt(clusterNumber) < 0.1 && // 11.- Fractional Cal. Iso. Et (PJW leakage corr) electronCOTtrackquality(clusterNumber)==1 ) // 12.- COT track quality: 3 axial and 3 stereo SL with 6 hits each return true; else { return false; } } Bool_t ww_lepton_id::PlugCluster(Int_t plugeleNumber) { if ( (PLUGELE_pele_det[plugeleNumber]==1)&&(PLUGELE_pele_rawEmEt[plugeleNumber]>20) ) { return true; } else { return false; } } Bool_t ww_lepton_id::PlugClusterCalDriven(Int_t plugeleNumber) { if ( (EMCLST_ele_det[plugeleNumber]==1)&&(EMCLST_ele_rawEmEt[plugeleNumber]>20) ) { return true; } else { return false; } } void ww_lepton_id::DebugBaseLinePlugElectron() { for(int ele = 0; eleemEnergy() = " << EMCLST_ele_rawEmE[eleNumber] << endl; cout << "cluster->emEtaEvent() = " << EMCLST_ele_emEvEta[eleNumber] << endl; cout << "cluster->vertexZ() = " << EMCLST_ele_zVertex[eleNumber] << endl; cout << "cluster->emEt() = " << EMCLST_ele_rawEmEt[eleNumber] << endl; cout << "cluster->pem3x3EmEnergy() = " << EMCLST_ele_pem3x3EmEnergy[eleNumber] << endl; cout << "cluster->totalEt() = " << EMCLST_ele_rawTotEt[eleNumber] << endl; cout << "cluster->PemCorr() = " << EMCLST_ele_pemCorr[eleNumber] << endl; cout << "-----------------------------------------------------------------------------------------------------------------------------------" << endl; } void ww_lepton_id::PrintBaseLinePlugElectron(Int_t plugeleNumber) { // Float_t dRPEM=PlugDrPEMPES(plugeleNumber); // cout << "--------------------------------------------------------------------------------------------------------------------------" << endl; cout << " - BASELINE ID CUTS PLUG ELE ->" << plugeleNumber << endl; cout << " 0.- Det (=1 PEM) (=0 CEM) ->" << 1.*PLUGELE_pele_det[plugeleNumber] << endl; Float_t costheta=TMath::TanH(PLUGELE_pele_PhxTrkEta[plugeleNumber]); Float_t sintheta=TMath::Sqrt(1.0-(costheta*costheta)); cout << " 1.- EmEt > 20 GeV ->" << PLUGELE_pele_rawEmEt[plugeleNumber] << endl; cout << " Et(two-twer Em sum * sin(theta) of track) ->" << PLUGELE_pele_rawEmE[plugeleNumber]*sintheta << endl; cout << " 2.- HadEm < 0.05 ->" << PLUGELE_pele_hadEm[plugeleNumber] << endl; cout << " 3.- Iso4 < 0.1 ->" << endl; cout << " Iso4= " << PLUGELE_pele_totIsoEt4[plugeleNumber] << endl; cout << " LgkCorrTrk= " << PLUGELE_pele_isoLkgCorrTrkBased[plugeleNumber] << endl; cout << " LgkCorrEn= " << PLUGELE_pele_isoLkgCorrEnBased[plugeleNumber] << endl; cout << " Iso4-Lkg/Et= " << (PLUGELE_pele_totIsoEt4[plugeleNumber]-PLUGELE_pele_isoLkgCorrTrkBased[plugeleNumber])/(PLUGELE_pele_rawEmE[plugeleNumber]*sintheta) << endl; cout << " 4.- PEM3x3FitTower !=0 ->" << PLUGELE_pele_pem3x3FitTowers[plugeleNumber] << endl; cout << " 5.- PEM3x3FitChi2 < 10 ->" << PLUGELE_pele_plug3x3chi2[plugeleNumber] << endl; cout << " 6.- ES 5by9 u and v > 0.65 ->" << PLUGELE_pele_pesU5x9ProfRat[plugeleNumber] << endl; cout << " 7.- ES 5by9 u and v > 0.65 ->" << PLUGELE_pele_pesV5x9ProfRat[plugeleNumber] << endl; cout << " 8.- Fiducial PES 1.2 < |eta| < 2.8 ->" << PLUGELE_pele_emDetEta[plugeleNumber] << endl; cout << " 9.- DeltaR_PEM/PES < 3cm ->" << dRPEM << endl; cout << "----FOR DAVE ---------------------------------------------------------------------------------------------------------------------" << endl; cout << "cluster->emEnergy() = " << PLUGELE_pele_rawEmE[plugeleNumber] << endl; cout << "cluster->emEtaEvent() = " << PLUGELE_pele_emEvEta[plugeleNumber] << endl; cout << "cluster->vertexZ() = " << PLUGELE_pele_zVertex[plugeleNumber] << endl; cout << "cluster->emEt() = " << PLUGELE_pele_rawEmEt[plugeleNumber] << endl; cout << "cluster->pem3x3EmEnergy() = " << PLUGELE_pele_pem3x3EmEnergy[plugeleNumber] << endl; cout << "cluster->totalEt() = " << PLUGELE_pele_rawTotEt[plugeleNumber] << endl; cout << "cluster->PemCorr() = " << PLUGELE_pele_pemCorr[plugeleNumber] << endl; cout << "-----------------------------------------------------------------------------------------------------------------------------------" << endl; if(PLUGELE_pele_SAMatch[plugeleNumber]){ Double_t dRTrkSA=PlugDrTrkSAPES(plugeleNumber); cout << " 10.- SA: match ->" << 1.*PLUGELE_pele_SAMatch[plugeleNumber] << endl; cout << " 11.- SA: # Si Hits >=4 ->" << PLUGELE_pele_PhxTrkSiHitsSA[plugeleNumber] << endl; cout << " 12.- SA: Track |Z0| < 60cm ->" << PLUGELE_pele_PhxTrkZ0SA[plugeleNumber] << endl; cout << " 13.- SA: DeltaR_Track/PES < 3cm ->" << dRTrkSA << endl; } if(PLUGELE_pele_PhxMatch[plugeleNumber]){ Double_t dRTrkPHX=PlugDrTrkPhxPES(plugeleNumber); cout << " 10.- PHX: match ->" << 1.*PLUGELE_pele_PhxMatch[plugeleNumber] << endl; cout << " 11.- PHX: # Si Hits >=4 ->" << PLUGELE_pele_PhxTrkSiHits[plugeleNumber] << endl; cout << " 12.- PHX: Track |Z0| < 60cm ->" << PLUGELE_pele_PhxTrkZ0[plugeleNumber] << endl; cout << " 13.- PHX: DeltaR_Track/PES < 3cm ->" << dRTrkPHX << endl; } } Double_t ww_lepton_id::PlugDrPEMPES(Int_t plugeleNumber) { if (PLUGELE_pele_pem3x3FitTowers[plugeleNumber]!=0){ // Float_t pemEta = PLUGELE_pele_pem3x3FitDetEta[plugeleNumber]; Float_t pemPhi = PLUGELE_pele_pem3x3FitPhi[plugeleNumber]; // Float_t costheta=TMath::TanH(pemEta); Float_t sintheta=TMath::Sqrt(1.0-(costheta*costheta)); Float_t pemfitrad=TMath::Abs(185.4/costheta); Float_t pemX=(pemfitrad*sintheta*TMath::Cos(pemPhi)); Float_t pemY=(pemfitrad*sintheta*TMath::Sin(pemPhi)); Float_t pesX=PLUGELE_pele_pes2dX[plugeleNumber]; Float_t pesY=PLUGELE_pele_pes2dY[plugeleNumber]; Float_t deltaR = TMath::Sqrt( (pesX-pemX)*(pesX-pemX) + (pesY-pemY)*(pesY-pemY) ); // return deltaR; // } else return -999.; } Double_t ww_lepton_id::PlugDrTrkSAPES(Int_t plugeleNumber) { Float_t pestrkX=PLUGELE_pele_PhxxtrpshmxXSA[plugeleNumber]; Float_t pestrkY=PLUGELE_pele_PhxxtrpshmxYSA[plugeleNumber]; Float_t pesX=PLUGELE_pele_pes2dX[plugeleNumber]; Float_t pesY=PLUGELE_pele_pes2dY[plugeleNumber]; Float_t deltaR = TMath::Sqrt( (pesX-pestrkX)*(pesX-pestrkX) + (pesY-pestrkY)*(pesY-pestrkY) ); // return deltaR; // } Double_t ww_lepton_id::PlugDrTrkPhxPES(Int_t plugeleNumber) { Float_t pestrkX=PLUGELE_pele_PhxxtrpshmxXPH[plugeleNumber]; Float_t pestrkY=PLUGELE_pele_PhxxtrpshmxYPH[plugeleNumber]; Float_t pesX=PLUGELE_pele_pes2dX[plugeleNumber]; Float_t pesY=PLUGELE_pele_pes2dY[plugeleNumber]; Float_t deltaR = TMath::Sqrt( (pesX-pestrkX)*(pesX-pestrkX) + (pesY-pestrkY)*(pesY-pestrkY) ); // return deltaR; // } Bool_t ww_lepton_id::BaseLinePlugElectron(Int_t plugeleNumber) { Bool_t Flag_PEM=false; Bool_t Flag_SA=false; Bool_t Flag_PHX=false; Float_t dRPEM=PlugDrPEMPES(plugeleNumber); // // if ( (PLUGELE_pele_det[plugeleNumber]==1)&& (PLUGELE_pele_rawEmEt[plugeleNumber]>20)&& (PLUGELE_pele_hadEm[plugeleNumber]<0.05)&& (PLUGELE_pele_totIsoEt4[plugeleNumber]<0.1)&& (PLUGELE_pele_pem3x3FitTowers[plugeleNumber]!=0)&& (PLUGELE_pele_plug3x3chi2[plugeleNumber]<10)&& (PLUGELE_pele_pesU5x9ProfRat[plugeleNumber]>0.65)&& (PLUGELE_pele_pesV5x9ProfRat[plugeleNumber]>0.65)&& (PLUGELE_pele_emDetEta[plugeleNumber]<2.8)&& (PLUGELE_pele_emDetEta[plugeleNumber]>1.2)&& (dRPEM<3.) ) { // Flag_PEM=true; // } // if(PLUGELE_pele_SAMatch[plugeleNumber]){ Float_t dRTrkSA=TMath::Sqrt( TMath::Power(PLUGELE_pele_PhxxtrpshmxXSA[plugeleNumber],2)+TMath::Power(PLUGELE_pele_PhxxtrpshmxYSA[plugeleNumber],2) ); if( (PLUGELE_pele_PhxTrkZ0SA[plugeleNumber]<60)&&(PLUGELE_pele_PhxTrkSiHitsSA[plugeleNumber]>=4)&&(dRTrkSA<3.) ){Flag_SA=true;} } if(PLUGELE_pele_PhxMatch[plugeleNumber]){ Float_t dRTrkPHX=TMath::Sqrt( TMath::Power(PLUGELE_pele_PhxxtrpshmxXPH[plugeleNumber],2)+TMath::Power(PLUGELE_pele_PhxxtrpshmxYPH[plugeleNumber],2) ); if( (PLUGELE_pele_PhxTrkZ0[plugeleNumber]<60)&&(PLUGELE_pele_PhxTrkSiHits[plugeleNumber]>=4)&&(dRTrkPHX<3.) ){Flag_PHX=true;} } // if( (Flag_PEM) && ((Flag_SA)||(Flag_PHX)) ){return true;} else { return false; } } Float_t ww_lepton_id::IsoBaseLineElectron(Int_t clusterNumber) { // Portection agaist strange values if(EMCLST_ele_std_calIsoRatio[clusterNumber]>-100.) { return EMCLST_ele_std_calIsoRatio[clusterNumber];} else { return 9999.;} } Int_t ww_lepton_id::electronCOTtrackquality(Int_t clusterNumber) { Int_t trk, nAXSL=0, nSTSL=0; Int_t qf=0; Bool_t myflag=false; if (clusterNumber>-1 && (trk=EMCLST_ele_maxPtTrackIndex[clusterNumber])>-1) { for (Int_t i=1; i<8; i+=2) { if(TRACK_trk_nonbc_numHitSL[trk][i]>=7){nAXSL++;} if(myflag) { cout << "trk " << trk << "- i " << i << "TRACK_trk_nonbc_numHitSL " << TRACK_trk_nonbc_numHitSL[trk][i] << " nAXSL= " << nAXSL << endl; } } for (Int_t i=0; i<8; i+=2) { if(TRACK_trk_nonbc_numHitSL[trk][i]>=7){nSTSL++;} if(myflag) { cout << "trk " << trk << "- i " << i << "TRACK_trk_nonbc_numHitSL " << TRACK_trk_nonbc_numHitSL[trk][i] << " nSTSL= " << nSTSL <-1 && EMCLST_ele_maxPtTrackIndex[clusterNumber]>-1) return EMCLST_ele_TwoTowerTotEnergy[clusterNumber]/ElectronP(clusterNumber); else return -999.; } Float_t ww_lepton_id::ElectronP(Int_t clusterNumber) { //returns the momentum of the maxPtTrack associated with the cluster if (clusterNumber>-1 && EMCLST_ele_maxPtTrackIndex[clusterNumber]>-1) { Float_t electrop= sqrt(ElectronPx(clusterNumber)*ElectronPx(clusterNumber)+ElectronPy(clusterNumber)*ElectronPy(clusterNumber)+ElectronPz(clusterNumber)*ElectronPz(clusterNumber)); return electrop; } else return -999.; } Float_t ww_lepton_id::ChiStrip(Int_t clusterNumber) { if (clusterNumber>-1 && EMCLST_ele_bestCesStrip[clusterNumber]>-1) { Float_t unpackcesChi=(float(EMCLST_ele_bestCesStrip[clusterNumber])+0.5)/100.; return unpackcesChi; } else return -999.; } Double_t ww_lepton_id::CesLocalCoor(Int_t clusterNumber) { if (clusterNumber>-1 && CESCLST_ces_packedLocalCoor[clusterNumber]>-1) { Float_t unpackcesLocalCoor=(float(CESCLST_ces_packedLocalCoor[clusterNumber])+0.5)/100.; return unpackcesLocalCoor; } else return -999.; } Double_t ww_lepton_id::CesGlobalCoor(Int_t clusterNumber) { if (clusterNumber>-1 && CESCLST_ces_packedGlobalCoor[clusterNumber]>-1) { Float_t unpackcesGlobalCoor=(float(CESCLST_ces_packedGlobalCoor[clusterNumber])+0.5)/100.; return unpackcesGlobalCoor; } else return -999.; } Float_t ww_lepton_id::EleCorrStripChi2(Int_t clusterNumber) { //returns the chi2 of the best matchng CES wire cluster //associated with em cluster clusterNumber //x coordinate is from ces wire if (clusterNumber>-1) return 0.1792 * pow( float(2.11), float(log(EleCorrEmE(clusterNumber)))) * EMCLST_ele_rawCesStripChi2[clusterNumber]; else return -999.; } //Float_t ww_lepton_id::EleCorrEmE(Int_t clusterNumber){ // if (clusterNumber>-1 && EMCLST_ele_energyCorrFactorTrkBased[clusterNumber]>-100) // return EMCLST_ele_rawEmE[clusterNumber]/EMCLST_ele_energyCorrFactorTrkBased[clusterNumber]; // else return -999; //} Float_t ww_lepton_id::EleCorrEmE(Int_t clusterNumber){ if (clusterNumber>-1){ if(EMCLST_ele_cemCorrTrkBased[clusterNumber]>-100) return EMCLST_ele_rawEmE[clusterNumber]/EMCLST_ele_cemCorrTrkBased[clusterNumber]; else return EMCLST_ele_rawEmE[clusterNumber]; } else return -999; } Float_t ww_lepton_id::EleEmEt(Int_t clusterNumber){ if (clusterNumber>-1 && EMCLST_ele_maxPtTrackIndex[clusterNumber]>-1 ) return EMCLST_ele_rawEmE[clusterNumber]/TMath::Sqrt( 1 + TRACK_trk_cotbc_cotTheta[clusterNumber]*TRACK_trk_cotbc_cotTheta[clusterNumber] ); else return -999.; } //Float_t ww_lepton_id::EleCorrEmEt(Int_t clusterNumber){ // if (clusterNumber>-1 && EMCLST_ele_maxPtTrackIndex[clusterNumber]>-1 ) // return EleCorrEmE(clusterNumber)/TMath::Sqrt( 1 + TRACK_trk_cotbc_cotTheta[clusterNumber]*TRACK_trk_cotbc_cotTheta[clusterNumber] ); // else return -999.; //} Float_t ww_lepton_id::EleCorrEmEt(Int_t clusterNumber){ if (clusterNumber>-1){ if(EMCLST_ele_cemCorrEnBased[clusterNumber]>-100) return ElectronEt(clusterNumber)/EMCLST_ele_cemCorrEnBased[clusterNumber]; else return ElectronEt(clusterNumber); } else return -999; } Float_t ww_lepton_id::TrackPt(Int_t trackNumber) { //returns transverse momentum of track Float_t trackpt=TRACK_trk_nonbc_pt[trackNumber]*TRACK_trk_nonbc_curv[trackNumber]/TRACK_trk_cotbc_curv[trackNumber]; return trackpt; } Float_t ww_lepton_id::TrackPx(Int_t trackNumber) { //returns track momentum in the x-direction return TrackPt(trackNumber)*TMath::Cos(TRACK_trk_cotbc_phi[trackNumber]); } Float_t ww_lepton_id::TrackPy(Int_t trackNumber) { //returns track momentum in the y-direction return TrackPt(trackNumber)*TMath::Sin(TRACK_trk_cotbc_phi[trackNumber]); } Float_t ww_lepton_id::TrackPz(Int_t trackNumber) { //returns track momentum in the z-direction //return TRACK_trk_nonbc_p[trackNumber]*cos(TrackTheta(trackNumber)); return TrackPt(trackNumber)*TRACK_trk_cotbc_cotTheta[trackNumber]; } Float_t ww_lepton_id::TrackP(Int_t trackNumber) { return TMath::Sqrt( TrackPt(trackNumber)*TrackPt(trackNumber) + TrackPz(trackNumber)* TrackPz(trackNumber) ); } Float_t ww_lepton_id::TrackTheta(Int_t trackNumber) { //returns track theta calculated from cotTheta if (TRACK_trk_cotbc_cotTheta[trackNumber]<0) return (Pi - atan(1/TRACK_trk_cotbc_cotTheta[trackNumber])); else return atan(1/TRACK_trk_cotbc_cotTheta[trackNumber]); } Float_t ww_lepton_id::TrackEta(Int_t trackNumber) { //returns track eta calculated from cotTheta return TMath::ASinH(TRACK_trk_cotbc_cotTheta[trackNumber]); } Int_t ww_lepton_id::ElectronStereoHits(Int_t clusterNumber) { Int_t i, trk, hits=0; if (clusterNumber>-1 && (trk=EMCLST_ele_maxPtTrackIndex[clusterNumber])>-1) { for (i=0; i<8; i+=2) { hits += TRACK_trk_nonbc_numHitSL[trk][i]; } return hits; } else return -1; } Int_t ww_lepton_id::ElectronAxialHits(Int_t clusterNumber) { Int_t i, trk, hits=0; if (clusterNumber>-1 && (trk=EMCLST_ele_maxPtTrackIndex[clusterNumber])>-1) { for (i=1; i<8; i+=2) { hits += TRACK_trk_nonbc_numHitSL[trk][i]; } return hits; } else return -1; } Float_t ww_lepton_id::ElectronE(Int_t clusterNumber) { //returns total energy of clusterNumber, if it is a valid index //otherwise return -999 if (clusterNumber>-1) { // // return EMCLST_ele_rawTotE[clusterNumber]; // return EMCLST_ele_std_E[clusterNumber]; } else return -999.; } Float_t ww_lepton_id::ElectronEt(Int_t clusterNumber) { //returns transverse energy of electron calculated from the total energy //of the cluster times the sin of the theta angle of the maxPtTrack //requires a valid max pt track index if (clusterNumber>-1 && EMCLST_ele_maxPtTrackIndex[clusterNumber]>-1) { return EMCLST_ele_std_Et[clusterNumber]; } else return -999.; } Float_t ww_lepton_id::ElectronEx(Int_t clusterNumber) { //returns the electron energy in the x-direction calculated from the total //energy ofthe cluster times the sin of the maxPtTrack theta //times the cosine of the track phi //requires a valid max pt track index if (clusterNumber>-1 && EMCLST_ele_maxPtTrackIndex[clusterNumber]>-1) { return EMCLST_ele_std_Ex[clusterNumber]; } else return -999.; } Float_t ww_lepton_id::ElectronEy(Int_t clusterNumber) { //returns the electron energy in the y-direction calculated from the total //energy ofthe cluster times the sin of the maxPtTrack theta //times the sin of the track phi //requires a valid max pt track index if (clusterNumber>-1 && EMCLST_ele_maxPtTrackIndex[clusterNumber]>-1) { return EMCLST_ele_std_Ey[clusterNumber]; } else return -999.; } Float_t ww_lepton_id::ElectronEz(Int_t clusterNumber) { //returns energy of electron in the y-direction calculated from the total //energy of the cluster times the sin of the theta angle of the maxPtTrack //requires a valid max pt track index if (clusterNumber>-1 && EMCLST_ele_maxPtTrackIndex[clusterNumber]>-1) { return EMCLST_ele_std_Ez[clusterNumber]; } else return -999.; } Float_t ww_lepton_id::ElectronPt(Int_t clusterNumber) { // Curvature Corrected Electron PT Int_t q=EMCLST_ele_std_charge[clusterNumber], itrk=EMCLST_ele_maxPtTrackIndex[clusterNumber]; Double_t pt=EMCLST_ele_std_trkPt[clusterNumber]; if (TRACK_trk_nonbc_nsvxHits[itrk]==0&&isData) { Double_t x = q/pt - 0.00042 - 0.00116*TMath::Sin(0.3+TRACK_trk_cotbc_phi[EMCLST_ele_maxPtTrackIndex[clusterNumber]]); return q/x; } else return pt; } Float_t ww_lepton_id::UncorrElectronPt(Int_t clusterNumber) { // Electron PT without curvature correction Int_t q=EMCLST_ele_std_charge[clusterNumber], itrk=EMCLST_ele_maxPtTrackIndex[clusterNumber]; Double_t pt=EMCLST_ele_std_trkPt[clusterNumber]; return pt; } Float_t ww_lepton_id::ElectronPx(Int_t clusterNumber) { //returns the momentum in the x-direction of the maxPtTrack associated with //the cluster Int_t Itrke; if (clusterNumber<0 || (Itrke=EMCLST_ele_maxPtTrackIndex[clusterNumber])<0 ) return -999.0; return ElectronPt(clusterNumber)*TMath::Cos(TRACK_trk_cotbc_phi[Itrke]); } Float_t ww_lepton_id::ElectronPy(Int_t clusterNumber) { //returns the momentum in the x-direction of the maxPtTrack associated with //the cluster Int_t Itrke; if (clusterNumber<0 || (Itrke=EMCLST_ele_maxPtTrackIndex[clusterNumber])<0 ) return -999.0; return ElectronPt(clusterNumber)*TMath::Sin(TRACK_trk_cotbc_phi[Itrke]); } Float_t ww_lepton_id::ElectronPz(Int_t clusterNumber) { //returns the momentum in the x-direction of the maxPtTrack associated with //the cluster Int_t Itrke; if (clusterNumber<0 || (Itrke=EMCLST_ele_maxPtTrackIndex[clusterNumber])<0 ) return -999.0; return ElectronPt(clusterNumber)*TRACK_trk_nonbc_cotTheta[Itrke]; } Float_t ww_lepton_id::ElectronTrackTheta(Int_t clusterNumber) { //returns the theta of the maxPtTrack associated with the cluster if (clusterNumber>-1 && EMCLST_ele_maxPtTrackIndex[clusterNumber]>-1) { if (TRACK_trk_nonbc_cotTheta[EMCLST_ele_maxPtTrackIndex[clusterNumber]]<0) return (Pi - atan(1/TRACK_trk_nonbc_cotTheta[EMCLST_ele_maxPtTrackIndex[clusterNumber]])); else return atan(1/TRACK_trk_nonbc_cotTheta[EMCLST_ele_maxPtTrackIndex[clusterNumber]]); } else return -999.; } Float_t ww_lepton_id::ElectronTrackPhi(Int_t clusterNumber) { //returns the phi of the maxPtTrack associated with the cluster if (clusterNumber>-1 && EMCLST_ele_maxPtTrackIndex[clusterNumber]>-1) { return TRACK_trk_cotbc_phi[EMCLST_ele_maxPtTrackIndex[clusterNumber]]; } else return -999.; } Float_t ww_lepton_id::ElectronTrackEta(Int_t clusterNumber) { //returns the phi of the maxPtTrack associated with the cluster if (clusterNumber>-1 && EMCLST_ele_maxPtTrackIndex[clusterNumber]>-1) { return TrackEta(EMCLST_ele_maxPtTrackIndex[clusterNumber]); } else return -999.; } void ww_lepton_id::ElectronIdEfficiencyAlgorithm(Int_t& jentry){ // Int_t iHepg; Double_t DeltaR; Int_t Nele=0; Bool_t mydebug=false; // // // for(Int_t icl=0; icl=1){NMCe[1]++; Nele++; hww->he_rawtotale->Fill(ElectronE(icl)); hww->he_rawtotalet->Fill(ElectronEt(icl)); hww->he_corrtotalet->Fill(EleCorrEmEt(icl)); // iHepg = EleHepgFinder(icl,DeltaR); // if(DeltaR>0.04){continue;} } if(ElectronIdEfficiency(icl)>=2){NMCe[2]++;} if(ElectronIdEfficiency(icl)>=3){NMCe[3]++;} if(ElectronIdEfficiency(icl)>=4){NMCe[4]++;} if(ElectronIdEfficiency(icl)>=5){NMCe[5]++;} if(ElectronIdEfficiency(icl)>=6){NMCe[6]++;} if(ElectronIdEfficiency(icl)>=7){NMCe[7]++;} if(ElectronIdEfficiency(icl)>=8){NMCe[8]++;} if(ElectronIdEfficiency(icl)>=9){NMCe[9]++;} if(ElectronIdEfficiency(icl)>=10){NMCe[10]++; } } // hww->he_n->Fill(Nele); // // if(mydebug){ cout << " " << endl; cout << "===============================================================================" << endl; cout << "run, section, event = " << GLB_nrun << " , " << GLB_evtSec << " , " << GLB_nev << endl; cout << "===============================================================================" << endl; cout << "Number of CdfEmObjects = " << Nele << endl; for(Int_t icl=0; icl20 == " << NMCe[1] << endl; cout << "e Fiducial == " << NMCe[2] << endl; cout << "e Had/EM == " << NMCe[3] << endl; cout << "e Iso == " << NMCe[4] << endl; cout << "e E/P == " << NMCe[5] << endl; cout << "e |z0 electron| == " << NMCe[6] << endl; cout << "e Lshr == " << NMCe[7] << endl; cout << "e Chi_strip^2 == " << NMCe[8] << endl; cout << "e |Delta X| == " << NMCe[9] << endl; cout << "e |Delta Z| == " << NMCe[10] << endl; cout << "-----------------------------------------------------" << endl; if((NMCe[1]>0)&&(NMCe[2]>0)&&(NMCe[3]>0)&&(NMCe[4]>0)&&(NMCe[5]>0)&&(NMCe[6]>0)&&(NMCe[7]>0)&&(NMCe[8]>0)&&(NMCe[9]>0)&&(NMCe[10]>0)) { cout << "-----------------------------------------------------" << endl; cout << "e Fiducial == " << float(NMCe[1])/float(Nhepge) << endl; cout << "HEPG MATCHING ---------------------------------------------" << endl; cout << "e Et>20 == " << float(NMCe[2])/float(Nhepge) << endl; cout << "e Had/EM == " << float(NMCe[3])/float(Nhepge) << endl; cout << "e Iso == " << float(NMCe[4])/float(Nhepge) << endl; cout << "e E/P == " << float(NMCe[5])/float(Nhepge) << endl; cout << "e |z0 electron| == " << float(NMCe[6])/float(Nhepge) << endl; cout << "e Lshr == " << float(NMCe[7])/float(Nhepge) << endl; cout << "e Chi_strip^2 == " << float(NMCe[8])/float(Nhepge) << endl; cout << "e |Delta X| == " << float(NMCe[9])/float(Nhepge) << endl; cout << "e |Delta Z| == " << float(NMCe[10])/float(Nhepge) << endl; } } void ww_lepton_id::printmuonefficiency(void) { cout << "-----------------------------------------------------" << endl; cout << "mu NHepe == " << Nhepgmu << endl; cout << "mu Fiducial CMUP == " << NMCmu[1] << endl; cout << "mu Pt>20 == " << NMCmu[2] << endl; cout << "mu Ehad<6 == " << NMCmu[3] << endl; cout << "mu Eem<2 == " << NMCmu[4] << endl; cout << "zvertex<60 == " << NMCmu[5] << endl; cout << "mu d0 == " << NMCmu[6] << endl; cout << "mu z0<3 == " << NMCmu[7] << endl; cout << "mu deltaX == " << NMCmu[8] << endl; cout << "mu Nax>24 == " << NMCmu[9] << endl; cout << "mu Nst>24 == " << NMCmu[10] << endl; cout << "mu Iso<2. == " << NMCmu[11] << endl; if(Nhepgmu>0){ cout << "-----------------------------------------------------" << endl; cout << "mu NHepe == " << Nhepgmu << endl; cout << "mu Fiducial CMUP == " << NMCmu[1]/float(Nhepgmu) << endl; cout << "mu Pt>20 == " << NMCmu[2]/float(Nhepgmu) << endl; cout << "mu Ehad<6 == " << NMCmu[3]/float(Nhepgmu) << endl; cout << "mu Eem<2 == " << NMCmu[4]/float(Nhepgmu) << endl; cout << "zvertex<60 == " << NMCmu[5]/float(Nhepgmu) << endl; cout << "mu d0 == " << NMCmu[6]/float(Nhepgmu) << endl; cout << "mu z0<3 == " << NMCmu[7]/float(Nhepgmu) << endl; cout << "mu deltaX == " << NMCmu[8]/float(Nhepgmu) << endl; cout << "mu Nax>24 == " << NMCmu[9]/float(Nhepgmu) << endl; cout << "mu Nst>24 == " << NMCmu[10]/float(Nhepgmu) << endl; cout << "mu Iso<2. == " << NMCmu[11]/float(Nhepgmu) << endl; } } Int_t ww_lepton_id::MuonIdEfficiency(Int_t muonIndex){ // // CDF note 6017, table 1, pag (2,3) (No CMX) // Top Dilepton working Group Table 3 Pag 5 (Yes CMX) // http://www-cdf.fnal.gov/internal/physics/top/run2dil/index.html // Double_t zvertex = Zvertex(); // Double_t d0cut=-9999.; // if ( muonIndex>-1 && MU_mu_trkIndex[muonIndex]>-1 ){ Int_t ItrkMu=MU_mu_trkIndex[muonIndex]; if(TRACK_trk_nonbc_nsvxHits[ItrkMu]==0) {d0cut=.15;} if(TRACK_trk_nonbc_nsvxHits[ItrkMu]>0) {d0cut=.02;} } // if (FiducialMuonCMUCMP(muonIndex)){ if (MuonPt(muonIndex)>20.){ // pt cut if (MU_mu_hadE[muonIndex]<6.){ // had energy cut if (MU_mu_emE[muonIndex]<2.){ // em energy cut if(fabs(zvertex)<60.){ // Z of primary vertex if(fabs(Muond0(muonIndex))24){ // Axial COT hits if(MuonStereoHits(muonIndex)>24){ // Stereo COT hits if(MuonIsolation(muonIndex)<2.){ // Muon Isolation < 2 GeV return 11; } return 10; } return 9; } return 8; } return 7; } return 6; } return 5; } return 4; } return 3; } return 2; } return 1; } return 0; } void ww_lepton_id::PrintTOPJets(){ // // return the index of the Muon with // maximum pt of the Track associated // cout << ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << endl; cout << "Analyzing TOPJETS in event -> Nrun= " << GLB_nrun << "Nev= " << GLB_nev << endl; cout << "----------------------------------------------------------------------------------" << endl; // cout << "Njets TopReclusterJetColl = " << TOPJET_topjet_njets_topjet[0] << endl; //cout << "Njets TopTightJetColl = " << TOPJET_topjet_njets_topjet[1] << endl; //cout << "Njets TopLooseJetColl = " << TOPJET_topjet_njets_topjet[2] << endl; // cout << "----------------------------------------------------------------------------------" << endl; for(int jetIndex = 0; jetIndex=0)){ cout << "-> TopReclusterJetColl j=" << jetIndex << "; Et= " << TOPJET_topjet_et[jetIndex] << "; Eta= " << TOPJET_topjet_deteta[jetIndex] << endl; } // if((jetIndex=TOPJET_topjet_njets_topjet[0])){ // cout << "-> TopTightJetColl j=" << jetIndex << "; Et= " << TOPJET_topjet_et[jetIndex] << "; Eta= " << TOPJET_topjet_deteta[jetIndex] << endl; // } // if((jetIndex=TOPJET_topjet_njets_topjet[0]+TOPJET_topjet_njets_topjet[1])){ // cout << "-> TopLooseJetColl j=" << jetIndex << "; Et= " << TOPJET_topjet_et[jetIndex] << "; Eta= " << TOPJET_topjet_deteta[jetIndex] << endl; // } } cout << "---- Jets used for HT and DELTA-PHI(MET,l-j) ----------------------------------------------------" << endl; for(int jetIndex = 0; jetIndex=0)){ if((TOPJET_topjet_et[jetIndex]>10.)&&(TMath::Abs(TOPJET_topjet_deteta[jetIndex])<2.4)){ cout << "-> TopReclusterJetColl j=" << jetIndex << "; Et= " << TOPJET_topjet_et[jetIndex] << "; Eta= " << TOPJET_topjet_deteta[jetIndex] << endl; } } } } void ww_lepton_id::PrintCDFMuons(){ // // return the index of the Muon with // maximum pt of the Track associated // cout << ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << endl; cout << "Analyzing MUONS in event -> Nrun= " << GLB_nrun << "Nev= " << GLB_nev << endl; cout << "----------------------------------------------------------------------------------" << endl; // for(int muonIndex = 0; muonIndexmaxpt) { maxpt = mupt; maxmu = mu; } } return maxmu; } Int_t ww_lepton_id::SecondMaxPtMuon() { // // return the index of the 2nd Muon with // maximum pt of the Track associated // Int_t maxmu2 = -1; Int_t maxmu = MaxPtMuon(); Float_t maxpt2 = 0.0; for(int mu = 0; mumaxpt2 && mu!=maxmu) { maxpt2 = mupt; maxmu2 = mu; } } return maxmu2; } Float_t ww_lepton_id::MuonPx(Int_t Index) { Int_t Itrkmu; if (Index<0 || (Itrkmu=MU_mu_trkIndex[Index])<0 ) return -999.0; return MuonPt(Index)*TMath::Cos(TRACK_trk_cotbc_phi[Itrkmu]); } Float_t ww_lepton_id::MuonPy(Int_t Index) { Int_t Itrkmu; if (Index<0|| (Itrkmu=MU_mu_trkIndex[Index])<0 ) return -999.0; return MuonPt(Index)*TMath::Sin(TRACK_trk_cotbc_phi[Itrkmu]); } Float_t ww_lepton_id::MuonPz(Int_t Index) { Int_t Itrkmu; if (Index<0 || (Itrkmu=MU_mu_trkIndex[Index])<0 ) return -999.0; return MuonPt(Index)*TRACK_trk_cotbc_cotTheta[Itrkmu]; } Float_t ww_lepton_id::MuonP(Int_t Index) { //returns the momentum in the z-direction of the Track associated with //the muon if (Index>-1 && MU_mu_trkIndex[Index]>-1) { Float_t muonp= sqrt(MuonPx(Index)*MuonPx(Index)+MuonPy(Index)*MuonPy(Index)+MuonPz(Index)*MuonPz(Index)); return muonp; } else return -999.; } Float_t ww_lepton_id::MuonPt(Int_t imu) { //returns the momentum in the z-direction of the Track associated with //the muon Int_t Itrkmu; if (imu<0 || (Itrkmu=MU_mu_trkIndex[imu])<0 ) return -99.0; Int_t q = MuonCharge(imu); Double_t pt=TrackPt(Itrkmu); if (TRACK_trk_nonbc_nsvxHits[Itrkmu]==0 && isData) { Double_t x = q/pt - 0.00042 - 0.00116*TMath::Sin(0.3+TRACK_trk_cotbc_phi[Itrkmu]); return q/x; } else return pt; } Float_t ww_lepton_id::UncorrMuonPt(Int_t imu) { //returns the momentum in the z-direction of the Track associated with //the muon without the curvature corrections Int_t Itrkmu; if (imu<0 || (Itrkmu=MU_mu_trkIndex[imu])<0 ) return -99.0; Int_t q = MuonCharge(imu); Double_t pt=TrackPt(Itrkmu); return pt; } Float_t ww_lepton_id::MuonE(Int_t Index) { if (Index>-1) { return MU_mu_hadE[Index]+MU_mu_emE[Index]; } else return -999.; } Float_t ww_lepton_id::MuonTrackEta(Int_t Index) { if (Index>-1 && MU_mu_trkIndex[Index]>-1) { return TrackEta(MU_mu_trkIndex[Index]); } else return -999.; } Float_t ww_lepton_id::MuonTrackPhi(Int_t Index) { if (Index>-1 && MU_mu_trkIndex[Index]>-1) { return TRACK_trk_cotbc_phi[MU_mu_trkIndex[Index]]; } else return -999.; } Int_t ww_lepton_id::MuonAxialHits(Int_t Index) { Int_t i, trk, hits=0; if (Index>-1 && (trk=MU_mu_trkIndex[Index])>-1) { for (i=1; i<8; i+=2) { hits += TRACK_trk_nonbc_numHitSL[trk][i]; } return hits; } else return -1; } Int_t ww_lepton_id::MuonStereoHits(Int_t Index) { Int_t i, trk, hits=0; if (Index>-1 && (trk=MU_mu_trkIndex[Index])>-1) { for (i=0; i<8; i+=2) { hits += TRACK_trk_nonbc_numHitSL[trk][i]; } return hits; } else return -1; } void ww_lepton_id::PrintBaseLineMuon(Int_t muonIndex){ // Double_t d0cut=-9999.; // if (muonIndex>-1 && MU_mu_trkIndex[muonIndex]>-1){ Int_t ItrkMu=MU_mu_trkIndex[muonIndex]; if(TRACK_trk_nonbc_nsvxHits[ItrkMu]==0) {d0cut=.2;} if(TRACK_trk_nonbc_nsvxHits[ItrkMu]>0) {d0cut=.02;} } // // cout << "**********************************************************************" << endl; cout << "Muon Event, Run Number:" << GLB_nrun << " Event Number:" << GLB_nev << endl; cout << "**********************************************************************" << endl; cout << "Fid [CMP-CMU-CMX] " << endl; cout << " " << int(1*MU_mu_fidCMP[muonIndex]) << " " << int(1*MU_mu_fidCMU[muonIndex]) << " " << int(1*MU_mu_fidCMX[muonIndex]) << endl; cout << "Stub [CMP-CMU-CMX] " << endl; cout << " " << MU_mu_Stub[muonIndex][0] << " " << MU_mu_Stub[muonIndex][1] << " " << MU_mu_Stub[muonIndex][2] << endl; // BASELINE CUTS // cout << "--------------------------------------------------------------------------------------------------------------------------" << endl; cout << " -- BASELINE CUTS FOR MUONS => " << muonIndex << endl; cout << "1.- Track Pt (COT-only beam-constrained-track)> 20 GeV=> " << UncorrMuonPt(muonIndex) << endl; cout << "2.- Track |z0| < 60 cm => " << MuonZ0(muonIndex) << endl; cout << "3.- Calorimeter Energy (Em) < 2 + max (0,0.0115 * (p-100) ) GeV => " << MU_mu_emE[muonIndex] << " < " << 2 + TMath::Max ( 0.000 , 0.0115 * (UncorrMuonPt(muonIndex) - 100 ) ) << endl; cout << "4.- Calorimeter Energy (Had) < 6 + max (0,0.028 * (p-100) ) GeV => " << MU_mu_hadE[muonIndex] << " < " << 6 + TMath::Max ( 0.000 , 0.028 * (UncorrMuonPt(muonIndex) - 100 ) ) << endl; cout << "5.- Track |d0| (corrected for beam-spot position) < 0.02 cm (if track has Si hits) OR < 0.2 cm if not) => " << Muond0(muonIndex) << " < " << d0cut << endl; cout << "6.- Calorimeter Isolation Et < 2 GeV => " << MuonIsolation(muonIndex) << endl; Int_t qflag=muonCOTtrackquality(muonIndex); cout << "7.- COT Track quality 3 axial and 3 stereo SL with 6 hits each=> " << qflag << endl; cout << "--------------------------------------------------------------------------------------------------------------------------" << endl; Int_t ItrkMu=MU_mu_trkIndex[muonIndex]; cout << "Trk NBC: curv= " << TRACK_trk_nonbc_curv[ItrkMu] << " d0= " << TRACK_trk_nonbc_d0[ItrkMu] << " Phi= " << TRACK_trk_nonbc_phi[ItrkMu] << " Pt= " << TRACK_trk_nonbc_pt[ItrkMu] << " ctgTheta= " << TRACK_trk_nonbc_cotTheta[ItrkMu] << endl; } void ww_lepton_id::FillBaseLineMuonBefore(Int_t muonIndex) { // hww->hbm_pt->Fill(MuonPt(muonIndex)); hww->hbm_z0->Fill(MuonZ0(muonIndex)); hww->hbm_em->Fill(MU_mu_emE[muonIndex]); hww->hbm_had->Fill(MU_mu_hadE[muonIndex]); // if (muonIndex>-1 && MU_mu_trkIndex[muonIndex]>-1){ if(TRACK_trk_nonbc_nsvxHits[MU_mu_trkIndex[muonIndex]]>0){hww->hbm_d0ws->Fill(Muond0(muonIndex));} if(TRACK_trk_nonbc_nsvxHits[MU_mu_trkIndex[muonIndex]]==0){hww->hbm_d0wos->Fill(Muond0(muonIndex));} } // hww->hbm_fciso->Fill(IsoBaseLineMuon(muonIndex)); } void ww_lepton_id::FillBaseLineMuonAfter(Int_t muonIndex) { // hww->hbmc_pt->Fill(MuonPt(muonIndex)); hww->hbmc_z0->Fill(MuonZ0(muonIndex)); hww->hbmc_em->Fill(MU_mu_emE[muonIndex]); hww->hbmc_had->Fill(MU_mu_hadE[muonIndex]); // if (muonIndex>-1 && MU_mu_trkIndex[muonIndex]>-1){ if(TRACK_trk_nonbc_nsvxHits[MU_mu_trkIndex[muonIndex]]>0){hww->hbmc_d0ws->Fill(Muond0(muonIndex));} if(TRACK_trk_nonbc_nsvxHits[MU_mu_trkIndex[muonIndex]]==0){hww->hbmc_d0wos->Fill(Muond0(muonIndex));} } // hww->hbmc_fciso->Fill(IsoBaseLineMuon(muonIndex)); } Bool_t ww_lepton_id::BaseLineMuon(Int_t muonIndex){ // Double_t d0cut=-9999.; // if (muonIndex>-1 && MU_mu_trkIndex[muonIndex]>-1){ Int_t ItrkMu=MU_mu_trkIndex[muonIndex]; if(TRACK_trk_nonbc_nsvxHits[ItrkMu]==0) {d0cut=.2;} if(TRACK_trk_nonbc_nsvxHits[ItrkMu]>0) {d0cut=.02;} } // Int_t qflag=muonCOTtrackquality(muonIndex); // if ( muonIndex>-1 && MU_mu_trkIndex[muonIndex]>-1 && //matched track UncorrMuonPt(muonIndex) > 20. && fabs(MuonZ0(muonIndex)) < 60. && MU_mu_emE[muonIndex] < 2 + TMath::Max ( 0.000 , 0.0115 * (UncorrMuonPt(muonIndex) - 100 ) ) && MU_mu_hadE[muonIndex] < 6 + TMath::Max ( 0.000 , 0.028 * (UncorrMuonPt(muonIndex) - 100 ) ) && fabs(Muond0(muonIndex)) < d0cut && // Isolation in a different method // MuonIsolation(muonIndex)<2 && qflag==1 ) return true; else return false; } Float_t ww_lepton_id::IsoBaseLineMuon(Int_t muonIndex){ if (muonIndex>-1 && MU_mu_trkIndex[muonIndex]>-1) //matched track { // Int_t itrk = MU_mu_trkIndex[muonIndex]; Float_t pt = TrackPt(itrk); Float_t iso1 = MU_mu_cR4Et[muonIndex]/pt; // return iso1; } else return 999.; } Float_t ww_lepton_id::MuonIsolation(Int_t muonIndex) { // // // if (muonIndex>-1 && MU_mu_trkIndex[muonIndex]>-1) //matched track { // Int_t itrk = MU_mu_trkIndex[muonIndex]; Float_t pt = TrackPt(itrk); Float_t pz = TrackPz(itrk); Float_t p = sqrt(pz*pz + pt*pt); // Float_t mue = MU_mu_emE[muonIndex]+MU_mu_hadE[muonIndex]; // Float_t iso1 = MU_mu_cR4Et[muonIndex] - mue*pt/p; Float_t iso1 = MU_mu_cR4Et[muonIndex]/pt; return iso1; // } else return -999.; } Bool_t ww_lepton_id::FiducialMuon(Int_t muonIndex) { // // if(muonIndex>-1 && MU_mu_trkIndex[muonIndex]>-1) //matched track { if( ( (MU_mu_Stub[muonIndex][0]==1 && MU_mu_Stub[muonIndex][1]!=1) || //CMU ONLY (MU_mu_Stub[muonIndex][0]!=1 && MU_mu_Stub[muonIndex][1]==1) || //CMP ONLY (MU_mu_Stub[muonIndex][0]==1 && MU_mu_Stub[muonIndex][1]==1) || //CMU AND CMP MU_mu_Stub[muonIndex][2]==1 ) ) //CMX return true; } // else return false; } Bool_t ww_lepton_id::FiducialMuonCMUCMP(Int_t muonIndex) { // // if(muonIndex>-1 && MU_mu_trkIndex[muonIndex]>-1) //matched track { if(MU_mu_Stub[muonIndex][0]==1 && MU_mu_Stub[muonIndex][1]==1) //CMU AND CMP return true; } // return false; } Bool_t ww_lepton_id::BaseLineStubMuon(Int_t muonIndex) { if (muonIndex>-1 && MU_mu_trkIndex[muonIndex]>-1) { if(CMUPMuon(muonIndex)||CMUMuon(muonIndex)||CMPMuon(muonIndex)||CMXMuon(muonIndex)){ return true; } } return false; } Bool_t ww_lepton_id::CMUPMuon(Int_t muonIndex) { if (muonIndex>-1 && MU_mu_trkIndex[muonIndex]>-1) { if( //(int(1*MU_mu_fidCMP[muonIndex])==1)&&(int(1*MU_mu_fidCMU[muonIndex])==1)&&(int(1*MU_mu_fidCMX[muonIndex])!=1)&& (MU_mu_Stub[muonIndex][0]==1)&&(fabs(MU_mu_dx[muonIndex][0])<3.)&&(MU_mu_Stub[muonIndex][1]==1)&&(fabs(MU_mu_dx[muonIndex][1])<5.) ) return true; } return false; } Bool_t ww_lepton_id::CMUMuon(Int_t muonIndex) { if (muonIndex>-1 && MU_mu_trkIndex[muonIndex]>-1) { if( //(int(1*MU_mu_fidCMP[muonIndex])!=1)&&(int(1*MU_mu_fidCMU[muonIndex])==1)&&(int(1*MU_mu_fidCMX[muonIndex])!=1)&& (int(1*MU_mu_fidCMP[muonIndex])!=1)&& (MU_mu_Stub[muonIndex][0]==1)&&(MU_mu_Stub[muonIndex][1]!=1)&&(MU_mu_Stub[muonIndex][2]!=1)&&(fabs(MU_mu_dx[muonIndex][0])<3.) ) return true; } return false; } Bool_t ww_lepton_id::CMPMuon(Int_t muonIndex) { if (muonIndex>-1 && MU_mu_trkIndex[muonIndex]>-1) { if( //(int(1*MU_mu_fidCMP[muonIndex])==1)&&(int(1*MU_mu_fidCMU[muonIndex])!=1)&&(int(1*MU_mu_fidCMX[muonIndex])!=1)&& (int(1*MU_mu_fidCMU[muonIndex])!=1)&& (MU_mu_Stub[muonIndex][0]!=1)&&(MU_mu_Stub[muonIndex][1]==1)&&(MU_mu_Stub[muonIndex][2]!=1)&&(fabs(MU_mu_dx[muonIndex][1])<5.) ) return true; } return false; } Bool_t ww_lepton_id::CMXMuon(Int_t muonIndex) { if (muonIndex>-1 && MU_mu_trkIndex[muonIndex]>-1) { if( //(int(1*MU_mu_fidCMP[muonIndex])!=1)&&(int(1*MU_mu_fidCMU[muonIndex])!=1)&&(int(1*MU_mu_fidCMX[muonIndex])==1)&& (GLB_nrun>150145)&&(MU_mu_Stub[muonIndex][2]==1)&&(fabs(MU_mu_dx[muonIndex][2])<6.) ) return true; } return false; } Double_t ww_lepton_id::Muond0(Int_t muonIndex) { // // // FOR DATA AND MC 491 TO BE CORRECTED WITH THE BEAM SPOT POSITION FROM COT. // if (muonIndex>-1 && MU_mu_trkIndex[muonIndex]>-1) //matched track { Int_t imutrk; if (muonIndex<0 || (imutrk=MU_mu_trkIndex[muonIndex])<0) return -999.0; Double_t z0=TRACK_trk_nonbc_z0[imutrk]; Float_t UserBeamX=-999; Float_t UserBeamY=-999; if(isData) {if (TRACK_trk_nonbc_nsvxHits[imutrk]==0) { UserBeamX=VERTEX_vtx_cot_beamx + z0*VERTEX_vtx_cot_slopex; UserBeamY=VERTEX_vtx_cot_beamy + z0*VERTEX_vtx_cot_slopey; } else { UserBeamX=VERTEX_vtx_svx_beamx + z0*VERTEX_vtx_svx_slopex; UserBeamY=VERTEX_vtx_svx_beamy + z0*VERTEX_vtx_svx_slopey; } } if(isMC) {UserBeamX=-0.064; UserBeamY=0.310; } Float_t d0= TRACK_trk_nonbc_d0[imutrk]+ UserBeamX*TMath::Sin(TRACK_trk_nonbc_phi[imutrk]) - UserBeamY*TMath::Cos(TRACK_trk_nonbc_phi[imutrk]); return d0; } else return -999.; } Double_t ww_lepton_id::MuonZ0(Int_t muonIndex) { // // if (muonIndex>-1 && MU_mu_trkIndex[muonIndex]>-1) //matched track { Int_t imutrk=MU_mu_trkIndex[muonIndex]; Double_t MuonZ0=TRACK_trk_cotbc_z0[imutrk]; return MuonZ0; } else {return -999.;} } Int_t ww_lepton_id::MuonCharge(Int_t muonIndex) { // // if (muonIndex>-1 && MU_mu_trkIndex[muonIndex]>-1) //matched track { Int_t imutrk=MU_mu_trkIndex[muonIndex]; Int_t icharge=TRACK_trk_cotbc_curv[imutrk]/fabs(TRACK_trk_cotbc_curv[imutrk]); return icharge; } else return -999.; } Double_t ww_lepton_id::Zvertex() { // //For current MC only one vertex return VERTEX_vtx_z[0]; // } void ww_lepton_id::DileptonCategoryAlgorithm(Int_t * IdRecEle, Int_t * IdRecMuon, Int_t& NRecEle, Int_t& NRecMuon){ // // // Int_t iHepg=0; Double_t minedeltar=0.; Double_t minmudeltar=0.; Bool_t debug=false; Bool_t matching=false; // NRecEle=0; NRecMuon=0; // for (Int_t j=0;j>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << endl; cout << "Analyzing event -> Nrun= " << GLB_nrun << "Nev= " << GLB_nev << endl; cout << ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << endl; } // for(int icl = 0; icl20.){ iHepg = EleHepgFinder(icl,minedeltar); if(debug){ cout << "-------------------------------------------------------" << endl; cout << "ICL= " << icl << "; EleCorrEmEt= " << EleCorrEmEt(icl) << "; EleHepgFinder = " << iHepg << "; MindeltaR= " << minedeltar << endl; } if(matching){ if(minedeltar<0.04){ IdRecEle[NRecEle]= icl; NRecEle++; } } else{ IdRecEle[NRecEle]= icl; NRecEle++; } } } // // for(int imu = 0; imu20.){ iHepg = MuHepgFinder(imu,minmudeltar); if(debug){ cout << "-------------------------------------------------------" << endl; cout << "IMU= " << imu << "; MuonPt= " << MuonPt(imu) << "; MuHepgFinder = " << iHepg << "; MindeltaR= " << minmudeltar << endl; } if(matching){ if(minmudeltar<0.04){ IdRecMuon[NRecMuon]= imu; NRecMuon++; } } else{ IdRecMuon[NRecMuon]= imu; NRecMuon++; } } } // // } void ww_lepton_id::PrintDileptonCategoryAlgorithm(Int_t * IdRecEle, Int_t * IdRecMuon, Int_t& NRecEle, Int_t& NRecMuon){ // // // // cout << ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" << endl; cout << " " << endl; cout << "Nrun= " << GLB_nrun << "Nev= " << GLB_nev << endl; cout << "------------------------------------------------" << endl; cout << "Number of Central EmObjects Et gt 20 GeV matched to HEPG electron dR lt 0.1 =" << NRecEle << endl; // for (Int_t jk = 0 ; jk e :" << jk << " " << IdRecEle[jk] << endl; } cout << "------------------------------------------------" << endl; cout << "Number of Fiducial Muons Pt gt 20 matched to HEPG muon dR lt 0.04 =" << NRecMuon << endl; // for (Int_t j=0;j mu :" << j << " " << IdRecMuon[j] << endl; } // // } Int_t ww_lepton_id::ClassifyDileptonCategory(Int_t NRecEle, Int_t NRecMuon){ // // // Int_t DilepRec=-999; // // if((NRecEle>2)&&(NRecMuon==0)) {DilepRec=5;} // EEE if((NRecMuon>2)&&(NRecEle==0)) {DilepRec=4;} // MUMUMU if((NRecEle==2)&&(NRecMuon==0)) {DilepRec=3;} // EE if((NRecMuon==2)&&(NRecEle==0)) {DilepRec=2;} // MUMU if((NRecMuon==1)&&(NRecEle==1)) {DilepRec=1;} // E-MU if((NRecEle>=2)&&(NRecMuon>0)) {DilepRec=7;} // EE-MU if((NRecMuon>=2)&&(NRecEle>0)) {DilepRec=6;} // MUMU-E if((NRecMuon==1)&&(NRecEle==0)) {DilepRec=-2;} if((NRecMuon==0)&&(NRecEle==1)) {DilepRec=-3;} // return DilepRec; // } void ww_lepton_id::Rec_Source(Int_t * IdRecEle, Int_t * IdRecMuon, Int_t& NRecEle, Int_t& NRecMuon, Int_t DilepFlag, Int_t DilepRec){ Bool_t debug=false; Bool_t hepgm=false; // Activate HEPG matching Bool_t cleandR=true; // Activate dR(j,l) cut Int_t FlagFill=-999; Int_t convcosm=0; Int_t emudup=0; Int_t njets=0; // Double_t DeltaR1=999; Double_t DeltaR2=999; //char eventrun[30],eventevt[15]; //sprintf(eventrun,"%d",GLB_nrun); //sprintf(eventevt,"%d",GLB_nev); //strcat(eventrun,eventevt); // if(DilepFlag==1){ convcosm=0; emudup=0; if((( GoodRun(GLB_nrun) && GoodTrigger() ) || isMC)&&(!TriLepCandidate)){ if((DilepRec==3)||(DilepRec==5)){ Int_t Iele1=IdRecEle[0]; Int_t Iele2=IdRecEle[1]; Int_t njets=NTightJet(); // // Bool_t hepgmatched=false; Bool_t dRpassed=false; // if(hepgm){ Int_t Ihepg1 = EleHepgFinder(Iele1,DeltaR1); Int_t Ihepg2 = EleHepgFinder(Iele2,DeltaR2); if((DeltaR1<0.04)&&(DeltaR2<0.04)) {hepgmatched=true;} } else{hepgmatched=true;} // //if(cleandR){if(CorDRLeptonJet(0,Iele1,Iele2)){dRpassed=true;}} //else{dRpassed=true;} // dRpassed=true; Int_t tteecan=tteeCandidate(Iele1,Iele2); if (tteecan>=0){Nttee[0]++;} if((hepgmatched)&&(dRpassed)){ if((GLB_nrun==151435)&&(GLB_nev==201429)){ cout<< "---Debugging event Nrun=" << GLB_nrun << " Ievt=" << GLB_nev << endl; Print_tteeCandidate(Iele1,Iele2); FillWWeeCandidateHistosBHT(Iele1, Iele2); } // if (tteecan>=1){Nttee[1]++; FillBaseLineElectronBefore(Iele1); FillBaseLineElectronBefore(Iele2); } if (tteecan>=2) {if(isData) {emuIDeventsRunN[Nttemu[2]+Nttee[2]+Nttmumu[2]]=GLB_nrun; emuIDeventsEvtN[Nttemu[2]+Nttee[2]+Nttmumu[2]]=GLB_nev; } if(isMC){emudup=1;} else{emudup=notduplicate(GLB_nrun,GLB_nev,Nttemu[2]+Nttee[2]+Nttmumu[2]);} Nttee[2]++; //allrunevset.insert(*eventrun); if(emudup==1) {Nttee[12]++; } if ((GLB_cosmic_hasCosmicRay<1 && emudup==1)||isMC==true) {Nttee[10]++; if (EMCLST_ele_convflag[Iele1]!=1 && EMCLST_ele_convflag[Iele2]!=1 && emudup==1){Nttee[11]++;} //Conversion filter } if(((GLB_cosmic_hasCosmicRay<1 && emudup==1)||isMC==true) && EMCLST_ele_convflag[Iele1]!=1 && EMCLST_ele_convflag[Iele2]!=1){convcosm=1;} } if (tteecan>=3 && convcosm==1 && emudup==1) {Nttee[3]++; if(isData){ eePassDupRunN[Nttee[3]-1]=GLB_nrun; eePassDupEvtN[Nttee[3]-1]=GLB_nev; } FlagFill=0; FillInvariantMassB(FlagFill,Iele1,Iele2); FillBaseLineElectronAfter(Iele1); FillBaseLineElectronAfter(Iele2); } if (tteecan>=4 && convcosm==1 && emudup==1){Nttee[4]++; FlagFill=0; FillMet(FlagFill); FillDPhiMet(FlagFill,Iele1,Iele2); FillInvariantMassA(FlagFill,Iele1,Iele2); if(EMCLST_ele_std_Et[Iele1]*EMCLST_ele_std_Et[Iele2]>0){ssee++;} if(NTightJet()==0){Nttee[13]++;} if(NTightJet()==1){Nttee[14]++;} if(NTightJet()>=2){Nttee[15]++;} } if (tteecan>=5 && convcosm==1 && emudup==1){Nttee[5]++;} if (tteecan>=6 && convcosm==1 && emudup==1){ Nttee[6]++; FillJets(); FlagFill=0; FillHt(FlagFill,Iele1,Iele2); } if (tteecan>=7 && convcosm==1 && NTightJet()>=2 && emudup==1){ FillDPhiEleJetEE(Iele1,Iele2); if(CorDREleJetEE(Iele1,Iele2)){ Nttee7b++; if (tteecan>=8){Nttee8b++;} if (tteecan>=9){Nttee9b++;} } else { cout << "---------------------------------------------" << endl; cout << "Events to investigate " << endl; cout << "GLB_nev = " << GLB_nev << endl; cout << "IevAna = " << IevAna << endl; cout << "Ntop-jets = " << NTightJet() << endl; cout << "Ntop-tightele = " << TOPSUMMARY_topsum_ntightele << endl; cout << "---------------------------------------------" << endl; PrintBaseLineElectron(Iele1); PrintBaseLineElectron(Iele2); } if(isData) {cout<<"!!!!!!!!!!!!ttbar EE CANDIDATE !!!!!!!!!!!!!!!Before Ht"<=8 && Htee(Iele1,Iele2)>200) {Nttee[8]++; if (tteecan>=9) {Nttee[9]++; FilltteeCandidateHistos(Iele1, Iele2); } } // if (tteecan>=8 && Htee(Iele1,Iele2)>100){ Nttee_ht_100++; if (tteecan>=9){ Nttee_ht_100_os++; } } // if (tteecan>=8 && Htee(Iele1,Iele2)>150){ Nttee_ht_150++; if (tteecan>=9){ Nttee_ht_150_os++; } } // if (tteecan>=8 && Htee(Iele1,Iele2)>200){ Nttee_ht_200++; if (tteecan>=9){ Nttee_ht_200_os++; } } // if (tteecan>=8 && Htee(Iele1,Iele2)>250){ Nttee_ht_250++; if (tteecan>=9){ Nttee_ht_250_os++; } } // } if (tteecan>=7 && convcosm==1 && NTightJet()==0 && emudup==1){ // if(isData){ cout<<"!!!!!!!!!!!!WW EE CANDIDATE!!!!!!!!!!!!!!!before OS"<=8) {Nwwee[8]++; if (tteecan>=9) {Nwwee[9]++; FillWWeeCandidateHistos(Iele1, Iele2); } } } // if (tteecan>=7 && convcosm==1 && emudup==1){ if (tteecan>=9) { // if (Htee(Iele1,Iele2)<150){ Nwwee_ht_150_os++; } if (Htee(Iele1,Iele2)<200){ Nwwee_ht_200_os++; } if (Htee(Iele1,Iele2)<250){ Nwwee_ht_250_os++; } if (Htee(Iele1,Iele2)<300){ Nwwee_ht_300_os++; } // if (HteeTow(Iele1,Iele2)<150){ Nwwee_htow_150_os++; } if (HteeTow(Iele1,Iele2)<200){ Nwwee_htow_200_os++; } if (HteeTow(Iele1,Iele2)<250){ Nwwee_htow_250_os++; } if (HteeTow(Iele1,Iele2)<300){ Nwwee_htow_300_os++; } // if(NTightJet()<=1){ if (Htee(Iele1,Iele2)<150){ Nwwee_ht1j_150_os++; } if (Htee(Iele1,Iele2)<200){ Nwwee_ht1j_200_os++; } if (Htee(Iele1,Iele2)<250){ Nwwee_ht1j_250_os++; } if (Htee(Iele1,Iele2)<300){ Nwwee_ht1j_300_os++; } } // } } // if (tteecan>=7 && convcosm==1 && NTightJet()==1 && emudup==1){ if(isData) {cout<<"!!!!!!!!!!!!1Jet EE CANDIDATE!!!!!!!!!!!!!!!before OS"<=8) {N1jee[8]++; if (tteecan>=9) {N1jee[9]++; Fill1jeeCandidateHistos(Iele1, Iele2); } } } } // // } // if(DilepRec==2){ Int_t Imu1=IdRecMuon[0]; Int_t Imu2=IdRecMuon[1]; convcosm=0; emudup=0; njets=NTightJet(); // Bool_t hepgmatched=false; Bool_t dRpassed=false; // if(hepgm){ Int_t Ihepg1 = MuHepgFinder(Imu1,DeltaR1); Int_t Ihepg2 = MuHepgFinder(Imu2,DeltaR2); if((DeltaR1<0.04)&&(DeltaR2<0.04)) {hepgmatched=true;} } else{hepgmatched=true;} // //if(cleandR){if(CorDRLeptonJet(1,Imu1,Imu2)){dRpassed=true;}} //else{dRpassed=true;} dRpassed=true; // Int_t ttmumucan=ttmumuCandidate(Imu1, Imu2); // // if (ttmumucan>=0){Nttmumu[0]++;} if((hepgmatched)&&(dRpassed)){ if (ttmumucan>=1){Nttmumu[1]++; FillBaseLineMuonBefore(Imu1); FillBaseLineMuonBefore(Imu2); } if((GLB_nrun==151435)&&((GLB_nev==200005)||(GLB_nev==200030)||(GLB_nev==200035)||(GLB_nev==200043)||(GLB_nev==200053))){ Print_ttmumuCandidate(Imu1,Imu2); FillttmumuCandidateHistosBHT(Imu1, Imu2); } if((DilepFlag>=10)&&(DilepFlag<=19)){ // AFTER ID WE SELECT 10,11,12,16,17,18,19 if((DilepFlag!=13)&&(DilepFlag!=14)&&(DilepFlag!=15)){ // We do not consider 13,14,15 if (ttmumucan>=2) {if(isData) {emuIDeventsRunN[Nttemu[2]+Nttee[2]+Nttmumu[2]]=GLB_nrun; emuIDeventsEvtN[Nttemu[2]+Nttee[2]+Nttmumu[2]]=GLB_nev; } if(isMC){emudup=1;} else{emudup=notduplicate(GLB_nrun,GLB_nev,Nttemu[2]+Nttee[2]+Nttmumu[2]);} Nttmumu[2]++; //allrunevset.insert(*eventrun); if(emudup==1){Nttmumu[12]++;} if ((GLB_cosmic_hasCosmicRay<1 && emudup==1)||isMC==true) {Nttmumu[10]++; convcosm=1; } //Cosmic filter } if (ttmumucan>=3 && convcosm==1 && emudup==1){Nttmumu[3]++; if(isData) {mumuPassDupRunN[Nttmumu[3]-1]=GLB_nrun; mumuPassDupRunN[Nttmumu[3]-1]=GLB_nev; } FlagFill=1; FillInvariantMassB(FlagFill,Imu1,Imu2); FillBaseLineMuonAfter(Imu1); FillBaseLineMuonAfter(Imu2); } if (ttmumucan>=4 && convcosm==1 && emudup==1){Nttmumu[4]++; FlagFill=1; FillMet(FlagFill); FillDPhiMet(FlagFill,Imu1,Imu2); FillInvariantMassA(FlagFill,Imu1,Imu2); if(MuonCharge(Imu1)*MuonCharge(Imu2)>0){ssmumu++;} if(NTightJet()==0){Nttmumu[13]++;} if(NTightJet()==1){Nttmumu[14]++;} if(NTightJet()>=2){Nttmumu[15]++;} } if (ttmumucan>=5 && convcosm==1 && emudup==1){Nttmumu[5]++;} if (ttmumucan>=6 && convcosm==1 && emudup==1){ Nttmumu[6]++; FillJets(); FlagFill=1; FillHt(FlagFill,Imu1,Imu2); } if (ttmumucan>=7 && convcosm==1&&NTightJet()>=2 && emudup==1) {Nttmumu[7]++; if(isData) {cout<<"!!!!!!!!!!!!ttbar MU MU CANDIDATE!!!!!!!!!!!!!!!!Before ht"<=8 && Htmumu(Imu1,Imu2)>200) {Nttmumu[8]++; if(ttmumucan>=9) {Nttmumu[9]++; FillttmumuCandidateHistos(Imu1, Imu2); } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>100){ Nttmumu_ht_100++; if (ttmumucan>=9){ Nttmumu_ht_100_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>150){ Nttmumu_ht_150++; if (ttmumucan>=9){ Nttmumu_ht_150_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>200){ Nttmumu_ht_200++; if (ttmumucan>=9){ Nttmumu_ht_200_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>250){ Nttmumu_ht_250++; if (ttmumucan>=9){ Nttmumu_ht_250_os++; } } // } if (ttmumucan>=7 && convcosm==1&&NTightJet()==0 && emudup==1) {Nwwmumu[7]++; if(isData){ cout<<"!!!!!!!!!!!!WW MU MU CANDIDATE!!!!!!!!!!!!!!!!Before OS"<=8) {Nwwmumu[8]++; if(ttmumucan>=9) {Nwwmumu[9]++; FillWWmumuCandidateHistos(Imu1, Imu2); } } } if (ttmumucan>=7 && convcosm==1 && emudup==1){ if (ttmumucan>=9) { if (Htmumu(Imu1,Imu2)<150){ Nwwmumu_ht_150_os++; } if (Htmumu(Imu1,Imu2)<200){ Nwwmumu_ht_200_os++; } if (Htmumu(Imu1,Imu2)<250){ Nwwmumu_ht_250_os++; } if (Htmumu(Imu1,Imu2)<300){ Nwwmumu_ht_300_os++; } // if (HtmumuTow(Imu1,Imu2)<150){ Nwwmumu_htow_150_os++; } if (HtmumuTow(Imu1,Imu2)<200){ Nwwmumu_htow_200_os++; } if (HtmumuTow(Imu1,Imu2)<250){ Nwwmumu_htow_250_os++; } if (HtmumuTow(Imu1,Imu2)<300){ Nwwmumu_htow_300_os++; } // // if(NTightJet()<=1){ if (Htmumu(Imu1,Imu2)<150){ Nwwmumu_ht1j_150_os++; } if (Htmumu(Imu1,Imu2)<200){ Nwwmumu_ht1j_200_os++; } if (Htmumu(Imu1,Imu2)<250){ Nwwmumu_ht1j_250_os++; } if (Htmumu(Imu1,Imu2)<300){ Nwwmumu_ht1j_300_os++; } } // } } if (ttmumucan>=7 && convcosm==1&&NTightJet()==1 && emudup==1) {N1jmumu[7]++; if(isData) {cout<<"!!!!!!!!!!!!1JET MU MU CANDIDATE!!!!!!!!!!!!!!!!Before OS"<=8) {N1jmumu[8]++; if(ttmumucan>=9) {N1jmumu[9]++; Fill1jmumuCandidateHistos(Imu1, Imu2); } } } // if(DilepFlag==10){ if (ttmumucan>=2) {Nttmumu10[2]++; if(emudup==1) {Nttmumu10[12]++; } if ((GLB_cosmic_hasCosmicRay<1 && emudup==1)||isMC==true){Nttmumu10[10]++;} } if (ttmumucan>=3 && convcosm==1 && emudup==1) {Nttmumu10[3]++; if(isData){ mumuPassDupRunN10[Nttmumu10[3]-1]=GLB_nrun; mumuPassDupEvtN10[Nttmumu10[3]-1]=GLB_nev; } } if (ttmumucan>=4 && convcosm==1 && emudup==1) {Nttmumu10[4]++; if(NTightJet()==0){Nttmumu10[13]++;} if(NTightJet()==1){Nttmumu10[14]++;} if(NTightJet()>=2){Nttmumu10[15]++;} } if (ttmumucan>=5 && convcosm==1 && emudup==1){Nttmumu10[5]++;} if (ttmumucan>=6 && convcosm==1 && emudup==1){Nttmumu10[6]++;} if (ttmumucan>=7 && convcosm==1&&NTightJet()>=2 && emudup==1) {Nttmumu10[7]++; if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>200) {Nttmumu10[8]++; if(ttmumucan>=9){Nttmumu10[9]++;} } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>100){ Nttmumu10_ht_100++; if (ttmumucan>=9){ Nttmumu10_ht_100_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>150){ Nttmumu10_ht_150++; if (ttmumucan>=9){ Nttmumu10_ht_150_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>200){ Nttmumu10_ht_200++; if (ttmumucan>=9){ Nttmumu10_ht_200_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>250){ Nttmumu10_ht_250++; if (ttmumucan>=9){ Nttmumu10_ht_250_os++; } } // } if (ttmumucan>=7 && convcosm==1&&NTightJet()==0 && emudup==1) {Nwwmumu10[7]++; if (ttmumucan>=8) {Nwwmumu10[8]++; if(ttmumucan>=9){Nwwmumu10[9]++;} } } if (ttmumucan>=7 && convcosm==1&&NTightJet()==1 && emudup==1) {N1jmumu10[7]++; if (ttmumucan>=8) {N1jmumu10[8]++; if(ttmumucan>=9){N1jmumu10[9]++;} } } } if(DilepFlag==11){ if (ttmumucan>=2) {Nttmumu11[2]++; if(emudup==1){ Nttmumu11[12]++; } if ((GLB_cosmic_hasCosmicRay<1 && emudup==1)||isMC==true){Nttmumu11[10]++;} } if (ttmumucan>=3 && convcosm==1 && emudup==1) {Nttmumu11[3]++; if(isData){ mumuPassDupRunN11[Nttmumu11[3]-1]=GLB_nrun; mumuPassDupEvtN11[Nttmumu11[3]-1]=GLB_nev; } } if (ttmumucan>=4 && convcosm==1 && emudup==1) {Nttmumu11[4]++; if(NTightJet()==0){Nttmumu11[13]++;} if(NTightJet()==1){Nttmumu11[14]++;} if(NTightJet()>=2){Nttmumu11[15]++;} } if (ttmumucan>=5 && convcosm==1 && emudup==1){Nttmumu11[5]++;} if (ttmumucan>=6 && convcosm==1 && emudup==1){Nttmumu11[6]++;} if (ttmumucan>=7 && convcosm==1&&NTightJet()>=2 && emudup==1) {Nttmumu11[7]++; if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>200) {Nttmumu11[8]++; if(ttmumucan>=9){Nttmumu11[9]++;} } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>100){ Nttmumu11_ht_100++; if (ttmumucan>=9){ Nttmumu11_ht_100_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>150){ Nttmumu11_ht_150++; if (ttmumucan>=9){ Nttmumu11_ht_150_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>200){ Nttmumu11_ht_200++; if (ttmumucan>=9){ Nttmumu11_ht_200_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>250){ Nttmumu11_ht_250++; if (ttmumucan>=9){ Nttmumu11_ht_250_os++; } } // } if (ttmumucan>=7 && convcosm==1&&NTightJet()==0 && emudup==1) {Nwwmumu11[7]++; if (ttmumucan>=8) {Nwwmumu11[8]++; if(ttmumucan>=9){Nwwmumu11[9]++;} } } if (ttmumucan>=7 && convcosm==1&&NTightJet()==1 && emudup==1) {N1jmumu11[7]++; if (ttmumucan>=8) {N1jmumu11[8]++; if(ttmumucan>=9){N1jmumu11[9]++;} } } } if(DilepFlag==12){ if (ttmumucan>=2) {Nttmumu12[2]++; if(emudup==1) {Nttmumu12[12]++; } if ((GLB_cosmic_hasCosmicRay<1 && emudup==1) ||isMC==true){Nttmumu12[10]++;} } if (ttmumucan>=3 && convcosm==1 && emudup==1) {Nttmumu12[3]++; if(isData){ mumuPassDupRunN12[Nttmumu12[3]-1]=GLB_nrun; mumuPassDupEvtN12[Nttmumu12[3]-1]=GLB_nev; } } if (ttmumucan>=4 && convcosm==1 && emudup==1) {Nttmumu12[4]++; if(NTightJet()==0){Nttmumu12[13]++;} if(NTightJet()==1){Nttmumu12[14]++;} if(NTightJet()>=2){Nttmumu12[15]++;} } if (ttmumucan>=5 && convcosm==1 && emudup==1){Nttmumu12[5]++;} if (ttmumucan>=6 && convcosm==1 && emudup==1){Nttmumu12[6]++;} if (ttmumucan>=7 && convcosm==1&&NTightJet()>=2 && emudup==1) {Nttmumu12[7]++; if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>200) {Nttmumu12[8]++; if(ttmumucan>=9){Nttmumu12[9]++;} } } if (ttmumucan>=7 && convcosm==1&&NTightJet()==0 && emudup==1) {Nwwmumu12[7]++; if (ttmumucan>=8) {Nwwmumu12[8]++; if(ttmumucan>=9){Nwwmumu12[9]++;} } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>100){ Nttmumu12_ht_100++; if (ttmumucan>=9){ Nttmumu12_ht_100_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>150){ Nttmumu12_ht_150++; if (ttmumucan>=9){ Nttmumu12_ht_150_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>200){ Nttmumu12_ht_200++; if (ttmumucan>=9){ Nttmumu12_ht_200_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>250){ Nttmumu12_ht_250++; if (ttmumucan>=9){ Nttmumu12_ht_250_os++; } } // } if (ttmumucan>=7 && convcosm==1&&NTightJet()==1 && emudup==1) {N1jmumu12[7]++; if (ttmumucan>=8) {N1jmumu12[8]++; if(ttmumucan>=9){N1jmumu12[9]++;} } } } if(DilepFlag==13){ if (ttmumucan>=2) {Nttmumu13[2]++; if(emudup==1) {Nttmumu13[12]++; } if ((GLB_cosmic_hasCosmicRay<1 && emudup==1)||isMC==true){Nttmumu13[10]++;} } if (ttmumucan>=3 && convcosm==1 && emudup==1) {Nttmumu13[3]++; if(isData){ mumuPassDupRunN13[Nttmumu13[3]-1]=GLB_nrun; mumuPassDupEvtN13[Nttmumu13[3]-1]=GLB_nev; } } if (ttmumucan>=4 && convcosm==1 && emudup==1) {Nttmumu13[4]++; if(NTightJet()==0){Nttmumu13[13]++;} if(NTightJet()==1){Nttmumu13[14]++;} if(NTightJet()>=2){Nttmumu13[15]++;} } if (ttmumucan>=5 && convcosm==1 && emudup==1){Nttmumu13[5]++;} if (ttmumucan>=6 && convcosm==1 && emudup==1){Nttmumu13[6]++;} if (ttmumucan>=7 && convcosm==1&&NTightJet()>=2 && emudup==1) {Nttmumu13[7]++; if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>200) {Nttmumu13[8]++; if(ttmumucan>=9){Nttmumu13[9]++;} } } if (ttmumucan>=7 && convcosm==1&&NTightJet()==0 && emudup==1) {Nwwmumu13[7]++; if (ttmumucan>=8) {Nwwmumu13[8]++; if(ttmumucan>=9){Nwwmumu13[9]++;} } } if (ttmumucan>=7 && convcosm==1&&NTightJet()==1 && emudup==1) {N1jmumu13[7]++; if (ttmumucan>=8) {N1jmumu13[8]++; if(ttmumucan>=9){N1jmumu13[9]++;} } } } if(DilepFlag==14){ if (ttmumucan>=2) {Nttmumu14[2]++; if(emudup==1) {Nttmumu14[12]++; } if ((GLB_cosmic_hasCosmicRay<1 && emudup==1)||isMC==true){Nttmumu14[10]++;} } if (ttmumucan>=3 && convcosm==1 && emudup==1) {Nttmumu14[3]++; if(isData){ mumuPassDupRunN14[Nttmumu14[3]-1]=GLB_nrun; mumuPassDupEvtN14[Nttmumu14[3]-1]=GLB_nev; } } if (ttmumucan>=4 && convcosm==1 && emudup==1) {Nttmumu14[4]++; if(NTightJet()==0){Nttmumu14[13]++;} if(NTightJet()==1){Nttmumu14[14]++;} if(NTightJet()>=2){Nttmumu14[15]++;} } if (ttmumucan>=5 && convcosm==1 && emudup==1){Nttmumu14[5]++;} if (ttmumucan>=6 && convcosm==1 && emudup==1){Nttmumu14[6]++;} if (ttmumucan>=7 && convcosm==1&&NTightJet()>=2 && emudup==1) {Nttmumu14[7]++; if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>200) {Nttmumu14[8]++; if(ttmumucan>=9){Nttmumu14[9]++;} } } if (ttmumucan>=7 && convcosm==1&&NTightJet()==0 && emudup==1) {Nwwmumu14[7]++; if (ttmumucan>=8) {Nwwmumu14[8]++; if(ttmumucan>=9){Nwwmumu14[9]++;} } } if (ttmumucan>=7 && convcosm==1&&NTightJet()==1 && emudup==1) {N1jmumu14[7]++; if (ttmumucan>=8) {N1jmumu14[8]++; if(ttmumucan>=9){N1jmumu14[9]++;} } } } if(DilepFlag==15){ if (ttmumucan>=2) {Nttmumu15[2]++; if(emudup==1) {Nttmumu15[12]++; } if ((GLB_cosmic_hasCosmicRay<1 && emudup==1)||isMC==true){Nttmumu15[10]++;} } if (ttmumucan>=3 && convcosm==1 && emudup==1) {Nttmumu15[3]++; if(isData){ mumuPassDupRunN15[Nttmumu15[3]-1]=GLB_nrun; mumuPassDupEvtN15[Nttmumu15[3]-1]=GLB_nev; } } if (ttmumucan>=4 && convcosm==1 && emudup==1) {Nttmumu15[4]++; if(NTightJet()==0){Nttmumu15[13]++;} if(NTightJet()==1){Nttmumu15[14]++;} if(NTightJet()>=2){Nttmumu15[15]++;} } if (ttmumucan>=5 && convcosm==1 && emudup==1){Nttmumu15[5]++;} if (ttmumucan>=6 && convcosm==1 && emudup==1){Nttmumu15[6]++;} if (ttmumucan>=7 && convcosm==1&&NTightJet()>=2 && emudup==1) {Nttmumu15[7]++; if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>200) {Nttmumu15[8]++; if(ttmumucan>=9){Nttmumu15[9]++;} } } if (ttmumucan>=7 && convcosm==1&&NTightJet()==0 && emudup==1) {Nwwmumu15[7]++; if (ttmumucan>=8) {Nwwmumu15[8]++; if(ttmumucan>=9){Nwwmumu15[9]++;} } } if (ttmumucan>=7 && convcosm==1&&NTightJet()==1 && emudup==1) {N1jmumu15[7]++; if (ttmumucan>=8) {N1jmumu15[8]++; if(ttmumucan>=9){N1jmumu15[9]++;} } } } if(DilepFlag==16){ if (ttmumucan>=2) {Nttmumu16[2]++; if(emudup==1) {Nttmumu16[12]++; } if ((GLB_cosmic_hasCosmicRay<1 && emudup==1)||isMC==true){Nttmumu16[10]++;} } if (ttmumucan>=3 && convcosm==1 && emudup==1) {Nttmumu16[3]++; if(isData){ mumuPassDupRunN16[Nttmumu16[3]-1]=GLB_nrun; mumuPassDupEvtN16[Nttmumu16[3]-1]=GLB_nev; } } if (ttmumucan>=4 && convcosm==1 && emudup==1) {Nttmumu16[4]++; if(NTightJet()==0){Nttmumu16[13]++;} if(NTightJet()==1){Nttmumu16[14]++;} if(NTightJet()>=2){Nttmumu16[15]++;} } if (ttmumucan>=5 && convcosm==1 && emudup==1){Nttmumu16[5]++;} if (ttmumucan>=6 && convcosm==1 && emudup==1){Nttmumu16[6]++;} if (ttmumucan>=7 && convcosm==1&&NTightJet()>=2 && emudup==1) {Nttmumu16[7]++; if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>200) {Nttmumu16[8]++; if(ttmumucan>=9){Nttmumu16[9]++;} } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>100){ Nttmumu16_ht_100++; if (ttmumucan>=9){ Nttmumu16_ht_100_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>150){ Nttmumu16_ht_150++; if (ttmumucan>=9){ Nttmumu16_ht_150_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>200){ Nttmumu16_ht_200++; if (ttmumucan>=9){ Nttmumu16_ht_200_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>250){ Nttmumu16_ht_250++; if (ttmumucan>=9){ Nttmumu16_ht_250_os++; } } // } if (ttmumucan>=7 && convcosm==1&&NTightJet()==0 && emudup==1) {Nwwmumu16[7]++; if (ttmumucan>=8) {Nwwmumu16[8]++; if(ttmumucan>=9){Nwwmumu16[9]++;} } } if (ttmumucan>=7 && convcosm==1&&NTightJet()==1 && emudup==1) {N1jmumu16[7]++; if (ttmumucan>=8) {N1jmumu16[8]++; if(ttmumucan>=9){N1jmumu16[9]++;} } } } if(DilepFlag==17){ if (ttmumucan>=2) {Nttmumu17[2]++; if(emudup==1) {Nttmumu17[12]++; } if ((GLB_cosmic_hasCosmicRay<1 && emudup==1)||isMC==true){Nttmumu17[10]++;} } if (ttmumucan>=3 && convcosm==1 && emudup==1) {Nttmumu17[3]++; if(isData){ mumuPassDupRunN17[Nttmumu17[3]-1]=GLB_nrun; mumuPassDupEvtN17[Nttmumu17[3]-1]=GLB_nev; } } if (ttmumucan>=4 && convcosm==1 && emudup==1) {Nttmumu17[4]++; if(NTightJet()==0){Nttmumu17[13]++;} if(NTightJet()==1){Nttmumu17[14]++;} if(NTightJet()>=2){Nttmumu17[15]++;} } if (ttmumucan>=5 && convcosm==1 && emudup==1){Nttmumu17[5]++;} if (ttmumucan>=6 && convcosm==1 && emudup==1){Nttmumu17[6]++;} if (ttmumucan>=7 && convcosm==1&&NTightJet()>=2 && emudup==1) {Nttmumu17[7]++; if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>200) {Nttmumu17[8]++; if(ttmumucan>=9){Nttmumu17[9]++;} } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>100){ Nttmumu17_ht_100++; if (ttmumucan>=9){ Nttmumu17_ht_100_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>150){ Nttmumu17_ht_150++; if (ttmumucan>=9){ Nttmumu17_ht_150_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>200){ Nttmumu17_ht_200++; if (ttmumucan>=9){ Nttmumu17_ht_200_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>250){ Nttmumu17_ht_250++; if (ttmumucan>=9){ Nttmumu17_ht_250_os++; } } // } if (ttmumucan>=7 && convcosm==1&&NTightJet()==0 && emudup==1) {Nwwmumu17[7]++; if (ttmumucan>=8) {Nwwmumu17[8]++; if(ttmumucan>=9){Nwwmumu17[9]++;} } } if (ttmumucan>=7 && convcosm==1&&NTightJet()==1 && emudup==1) {N1jmumu17[7]++; if (ttmumucan>=8) {N1jmumu17[8]++; if(ttmumucan>=9){N1jmumu17[9]++;} } } } if(DilepFlag==18){ if (ttmumucan>=2) {Nttmumu18[2]++; if(emudup==1) {Nttmumu18[12]++; } if ((GLB_cosmic_hasCosmicRay<1 && emudup==1)||isMC==true){Nttmumu18[10]++;} } if (ttmumucan>=3 && convcosm==1 && emudup==1) {Nttmumu18[3]++; if(isData){ mumuPassDupRunN18[Nttmumu18[3]-1]=GLB_nrun; mumuPassDupEvtN18[Nttmumu18[3]-1]=GLB_nev; } } if (ttmumucan>=4 && convcosm==1 && emudup==1) {Nttmumu18[4]++; if(NTightJet()==0){Nttmumu18[13]++;} if(NTightJet()==1){Nttmumu18[14]++;} if(NTightJet()>=2){Nttmumu18[15]++;} } if (ttmumucan>=5 && convcosm==1 && emudup==1){Nttmumu18[5]++;} if (ttmumucan>=6 && convcosm==1 && emudup==1){Nttmumu18[6]++;} if (ttmumucan>=7 && convcosm==1&&NTightJet()>=2 && emudup==1) {Nttmumu18[7]++; if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>200) {Nttmumu18[8]++; if(ttmumucan>=9){Nttmumu18[9]++;} } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>100){ Nttmumu18_ht_100++; if (ttmumucan>=9){ Nttmumu18_ht_100_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>150){ Nttmumu18_ht_150++; if (ttmumucan>=9){ Nttmumu18_ht_150_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>200){ Nttmumu18_ht_200++; if (ttmumucan>=9){ Nttmumu18_ht_200_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>250){ Nttmumu18_ht_250++; if (ttmumucan>=9){ Nttmumu18_ht_250_os++; } } // } if (ttmumucan>=7 && convcosm==1&&NTightJet()==0 && emudup==1) {Nwwmumu18[7]++; if (ttmumucan>=8) {Nwwmumu18[8]++; if(ttmumucan>=9){Nwwmumu18[9]++;} } } if (ttmumucan>=7 && convcosm==1&&NTightJet()==1 && emudup==1) {N1jmumu18[7]++; if (ttmumucan>=8) {N1jmumu18[8]++; if(ttmumucan>=9){N1jmumu18[9]++;} } } } if(DilepFlag==19){ if (ttmumucan>=2) {Nttmumu19[2]++; if(emudup==1) {Nttmumu19[12]++; } if ((GLB_cosmic_hasCosmicRay<1 && emudup==1)||isMC==true){Nttmumu19[10]++;} } if (ttmumucan>=3 && convcosm==1 && emudup==1) {Nttmumu19[3]++; if(isData){ mumuPassDupRunN19[Nttmumu19[3]-1]=GLB_nrun; mumuPassDupEvtN19[Nttmumu19[3]-1]=GLB_nev; } } if (ttmumucan>=4 && convcosm==1 && emudup==1) {Nttmumu19[4]++; if(NTightJet()==0){Nttmumu19[13]++;} if(NTightJet()==1){Nttmumu19[14]++;} if(NTightJet()>=2){Nttmumu19[15]++;} } if (ttmumucan>=5 && convcosm==1 && emudup==1){Nttmumu19[5]++;} if (ttmumucan>=6 && convcosm==1 && emudup==1){Nttmumu19[6]++;} if (ttmumucan>=7 && convcosm==1&&NTightJet()>=2 && emudup==1) {Nttmumu19[7]++; if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>200) {Nttmumu19[8]++; if(ttmumucan>=9){Nttmumu19[9]++;} } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>100){ Nttmumu19_ht_100++; if (ttmumucan>=9){ Nttmumu19_ht_100_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>150){ Nttmumu19_ht_150++; if (ttmumucan>=9){ Nttmumu19_ht_150_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>200){ Nttmumu19_ht_200++; if (ttmumucan>=9){ Nttmumu19_ht_200_os++; } } // if (ttmumucan>=8 && Htmumu(Imu1,Imu2)>250){ Nttmumu19_ht_250++; if (ttmumucan>=9){ Nttmumu19_ht_250_os++; } } // } if (ttmumucan>=7 && convcosm==1&&NTightJet()==0 && emudup==1) {Nwwmumu19[7]++; if (ttmumucan>=8) {Nwwmumu19[8]++; if(ttmumucan>=9){Nwwmumu19[9]++;} } } if (ttmumucan>=7 && convcosm==1&&NTightJet()==1 && emudup==1) {N1jmumu19[7]++; if (ttmumucan>=8) {N1jmumu19[8]++; if(ttmumucan>=9){N1jmumu19[9]++;} } } } } } // } // } if(DilepRec==1){ // Int_t Iele=IdRecEle[0]; Int_t Imuon=IdRecMuon[0]; convcosm=0; emudup=0; njets=NTightJet(); if((GLB_cosmic_hasCosmicRay<1||isMC==true)&& EMCLST_ele_convflag[Iele]!=1){convcosm=1;} // Bool_t hepgmatched=false; Bool_t dRpassed=false; // if(hepgm){ Int_t Ihepg1 = EleHepgFinder(Iele,DeltaR1); Int_t Ihepg2 = MuHepgFinder(Imuon,DeltaR2); if((DeltaR1<0.04)&&(DeltaR2<0.04)) {hepgmatched=true;} } else{hepgmatched=true;} // //if(cleandR){if(CorDRLeptonJet(2,Iele,Imuon)){dRpassed=true;}} //else{dRpassed=true;} dRpassed=true; // Int_t ttemucan=ttemuCandidate(Iele, Imuon); // // if (ttemucan>=0){Nttemu[0]++;} if((hepgmatched)&&(dRpassed)) { if (ttemucan>=1){Nttemu[1]++; FillBaseLineElectronBefore(Iele); FillBaseLineMuonBefore(Imuon); } if((DilepFlag>=20)&&(DilepFlag<=23)){ // WE SELECT 20,21,22,23 if (ttemucan>=2) {if(isData) {emuIDeventsRunN[Nttemu[2]+Nttee[2]+Nttmumu[2]]=GLB_nrun; emuIDeventsEvtN[Nttemu[2]+Nttee[2]+Nttmumu[2]]=GLB_nev; } if(isMC){emudup=1;} else{emudup=notduplicate(GLB_nrun,GLB_nev,Nttemu[2]+Nttee[2]+Nttmumu[2]);} Nttemu[2]++; //allrunevset.insert(eventrun); if(emudup==1){Nttemu[9]++;} if ((GLB_cosmic_hasCosmicRay<1||isMC==true) && emudup==1) {Nttemu[10]++; if ((EMCLST_ele_convflag[Iele]!=1) && emudup==1){Nttemu[11]++;} //Conversion filter } } if (ttemucan>=3 && convcosm==1 && emudup==1){Nttemu[3]++; if(isData) {emuPassDupRunN[Nttemu[3]-1]=GLB_nrun; emuPassDupRunN[Nttemu[3]-1]=GLB_nev; } FlagFill=2; FillMet(FlagFill); FillDPhiMet(FlagFill,Iele,Imuon); FillBaseLineElectronAfter(Iele); FillBaseLineMuonAfter(Imuon); if(EMCLST_ele_std_Et[Iele]*MuonCharge(Imuon)>0){ssemu++;} if(NTightJet()==0){Nttemu[13]++;} if(NTightJet()==1){Nttemu[14]++;} if(NTightJet()>=2){Nttemu[15]++;} } if (ttemucan>=4 && convcosm==1 && emudup==1){Nttemu[4]++;} if (ttemucan>=5 && convcosm==1 && emudup==1){Nttemu[5]++; FillJets(); FlagFill=2; FillHt(FlagFill,Iele,Imuon); } if (ttemucan>=6 && convcosm==1 && emudup==1 && NTightJet()>=2) {Nttemu[6]++; if(isData) {cout<<"!!!!!!!!!!!!!ttbar E MU CANDIDATE!!!!!!!!!!!!!!!!!!!Before ht"<=7 && Htemu(Iele,Imuon)>200) {Nttemu[7]++; if (ttemucan>=8) {Nttemu[8]++; FillttemuCandidateHistos(Iele, Imuon); } } // if (ttemucan>=7 && Htemu(Iele,Imuon)>100){ Nttemu_ht_100++; if (ttemucan>=8){ Nttemu_ht_100_os++; } } // if (ttemucan>=7 && Htemu(Iele,Imuon)>150){ Nttemu_ht_150++; if (ttemucan>=8){ Nttemu_ht_150_os++; } } // if (ttemucan>=7 && Htemu(Iele,Imuon)>200){ Nttemu_ht_200++; if (ttemucan>=8){ Nttemu_ht_200_os++; } } // if (ttemucan>=7 && Htemu(Iele,Imuon)>250){ Nttemu_ht_250++; if (ttemucan>=8){ Nttemu_ht_250_os++; } } // } if (ttemucan>=6 && convcosm==1 && emudup==1 && NTightJet()==0) {Nwwemu[6]++; if(isData) {cout<<"!!!!!!!!!!!!!WW E MU CANDIDATE!!!!!!!!!!!!!!!!!!!Before OS"<=7) {Nwwemu[7]++; if (ttemucan>=8) {Nwwemu[8]++; FillWWemuCandidateHistos(Iele, Imuon); } } } // if (ttemucan>=6 && convcosm==1 && emudup==1){ if (ttemucan>=8) { if (Htemu(Iele,Imuon)<150){ Nwwemu_ht_150_os++; } if (Htemu(Iele,Imuon)<200){ Nwwemu_ht_200_os++; } if (Htemu(Iele,Imuon)<250){ Nwwemu_ht_250_os++; } if (Htemu(Iele,Imuon)<300){ Nwwemu_ht_300_os++; } // if (HtemuTow(Iele,Imuon)<150){ Nwwemu_htow_150_os++; } if (HtemuTow(Iele,Imuon)<200){ Nwwemu_htow_200_os++; } if (HtemuTow(Iele,Imuon)<250){ Nwwemu_htow_250_os++; } if (HtemuTow(Iele,Imuon)<300){ Nwwemu_htow_300_os++; } // // if(NTightJet()<=1){ if (Htemu(Iele,Imuon)<150){ Nwwemu_ht1j_150_os++; } if (Htemu(Iele,Imuon)<200){ Nwwemu_ht1j_200_os++; } if (Htemu(Iele,Imuon)<250){ Nwwemu_ht1j_250_os++; } if (Htemu(Iele,Imuon)<300){ Nwwemu_ht1j_300_os++; } } // } } // if (ttemucan>=6 && convcosm==1 && emudup==1 && NTightJet()==1) {N1jemu[6]++; if(isData) {cout<<"!!!!!!!!!!!!!1JET E MU CANDIDATE!!!!!!!!!!!!!!!!!!!Before OS"<=7) {N1jemu[7]++; if (ttemucan>=8) {N1jemu[8]++; Fill1jemuCandidateHistos(Iele, Imuon); } } } // if(DilepFlag==20){ if (ttemucan>=2) {Nttemu20[2]++; if(emudup==1) {Nttemu20[9]++; } if ((GLB_cosmic_hasCosmicRay<1||isMC==true) && emudup==1) {Nttemu20[10]++; if (EMCLST_ele_convflag[Iele]!=1 && emudup==1){Nttemu20[11]++;} } } if (ttemucan>=3 && convcosm==1 && emudup==1) {Nttemu20[3]++; if(isData){ emuPassDupRunN20[Nttemu20[3]-1]=GLB_nrun; emuPassDupEvtN20[Nttemu20[3]-1]=GLB_nev; } if(NTightJet()==0){Nttemu20[13]++;} if(NTightJet()==1){Nttemu20[14]++;} if(NTightJet()>=2){Nttemu20[15]++;} } if (ttemucan>=4 && convcosm==1 && emudup==1){Nttemu20[4]++;} if (ttemucan>=5 && convcosm==1 && emudup==1){Nttemu20[5]++;} if (ttemucan>=6 && convcosm==1 && emudup==1 && NTightJet()>=2) {Nttemu20[6]++; if (ttemucan>=7 && Htemu(Iele,Imuon)>200) {Nttemu20[7]++; if (ttemucan>=8){Nttemu20[8]++;} } // if (ttemucan>=7 && Htemu(Iele,Imuon)>100){ Nttemu20_ht_100++; if (ttemucan>=8){ Nttemu20_ht_100_os++; } } // if (ttemucan>=7 && Htemu(Iele,Imuon)>150){ Nttemu20_ht_150++; if (ttemucan>=8){ Nttemu20_ht_150_os++; } } // if (ttemucan>=7 && Htemu(Iele,Imuon)>200){ Nttemu20_ht_200++; if (ttemucan>=8){ Nttemu20_ht_200_os++; } } // if (ttemucan>=7 && Htemu(Iele,Imuon)>250){ Nttemu20_ht_250++; if (ttemucan>=8){ Nttemu20_ht_250_os++; } } // } if (ttemucan>=6 && convcosm==1 && emudup==1 && NTightJet()==0) {Nwwemu20[6]++; if (ttemucan>=7) {Nwwemu20[7]++; if (ttemucan>=8){Nwwemu20[8]++;} } } if (ttemucan>=6 && convcosm==1 && emudup==1 && NTightJet()==1) {N1jemu20[6]++; if (ttemucan>=7) {N1jemu20[7]++; if (ttemucan>=8){N1jemu20[8]++;} } } } if(DilepFlag==21){ if (ttemucan>=2) {Nttemu21[2]++; if(emudup==1) {Nttemu21[9]++; } if ((GLB_cosmic_hasCosmicRay<1||isMC==true) && emudup==1) {Nttemu21[10]++; if (EMCLST_ele_convflag[Iele]!=1 && emudup==1){Nttemu21[11]++;} } } if (ttemucan>=3 && convcosm==1 && emudup==1) {Nttemu21[3]++; if(isData) {emuPassDupRunN21[Nttemu21[3]-1]=GLB_nrun; emuPassDupEvtN21[Nttemu21[3]-1]=GLB_nev; } if(NTightJet()==0){Nttemu21[13]++;} if(NTightJet()==1){Nttemu21[14]++;} if(NTightJet()>=2){Nttemu21[15]++;} } if (ttemucan>=4 && convcosm==1 && emudup==1){Nttemu21[4]++;} if (ttemucan>=5 && convcosm==1 && emudup==1){Nttemu21[5]++;} if (ttemucan>=6 && convcosm==1 && emudup==1 && NTightJet()>=2) {Nttemu21[6]++; if (ttemucan>=7 && Htemu(Iele,Imuon)>200) {Nttemu21[7]++; if (ttemucan>=8){Nttemu21[8]++;} } // if (ttemucan>=7 && Htemu(Iele,Imuon)>100){ Nttemu21_ht_100++; if (ttemucan>=8){ Nttemu21_ht_100_os++; } } // if (ttemucan>=7 && Htemu(Iele,Imuon)>150){ Nttemu21_ht_150++; if (ttemucan>=8){ Nttemu21_ht_150_os++; } } // if (ttemucan>=7 && Htemu(Iele,Imuon)>200){ Nttemu21_ht_200++; if (ttemucan>=8){ Nttemu21_ht_200_os++; } } // if (ttemucan>=7 && Htemu(Iele,Imuon)>250){ Nttemu21_ht_250++; if (ttemucan>=8){ Nttemu21_ht_250_os++; } } // } if (ttemucan>=6 && convcosm==1 && emudup==1 && NTightJet()==0) {Nwwemu21[6]++; if (ttemucan>=7) {Nwwemu21[7]++; if (ttemucan>=8){Nwwemu21[8]++;} } } if (ttemucan>=6 && convcosm==1 && emudup==1 && NTightJet()==1) {N1jemu21[6]++; if (ttemucan>=7) {N1jemu21[7]++; if (ttemucan>=8){N1jemu21[8]++;} } } } if(DilepFlag==22){ if (ttemucan>=2) {Nttemu22[2]++; if(emudup==1) {Nttemu22[9]++; } if ((GLB_cosmic_hasCosmicRay<1||isMC==true) && emudup==1) {Nttemu22[10]++; if (EMCLST_ele_convflag[Iele]!=1 && emudup==1){Nttemu22[11]++;} } } if (ttemucan>=3 && convcosm==1 && emudup==1) {Nttemu22[3]++; if(isData){ emuPassDupRunN22[Nttemu22[3]-1]=GLB_nrun; emuPassDupEvtN22[Nttemu22[3]-1]=GLB_nev; } if(NTightJet()==0){Nttemu22[13]++;} if(NTightJet()==1){Nttemu22[14]++;} if(NTightJet()>=2){Nttemu22[15]++;} } if (ttemucan>=4 && convcosm==1 && emudup==1){Nttemu22[4]++;} if (ttemucan>=5 && convcosm==1 && emudup==1){Nttemu22[5]++;} if (ttemucan>=6 && convcosm==1 && emudup==1 && NTightJet()>=2) {Nttemu22[6]++; if (ttemucan>=7 && Htemu(Iele,Imuon)>200) {Nttemu22[7]++; if (ttemucan>=8){Nttemu22[8]++;} } // if (ttemucan>=7 && Htemu(Iele,Imuon)>100){ Nttemu22_ht_100++; if (ttemucan>=8){ Nttemu22_ht_100_os++; } } // if (ttemucan>=7 && Htemu(Iele,Imuon)>150){ Nttemu22_ht_150++; if (ttemucan>=8){ Nttemu22_ht_150_os++; } } // if (ttemucan>=7 && Htemu(Iele,Imuon)>200){ Nttemu22_ht_200++; if (ttemucan>=8){ Nttemu22_ht_200_os++; } } // if (ttemucan>=7 && Htemu(Iele,Imuon)>250){ Nttemu22_ht_250++; if (ttemucan>=8){ Nttemu22_ht_250_os++; } } // } if (ttemucan>=6 && convcosm==1 && emudup==1 && NTightJet()==0) {Nwwemu22[6]++; if (ttemucan>=7) {Nwwemu22[7]++; if (ttemucan>=8){Nwwemu22[8]++;} } } if (ttemucan>=6 && convcosm==1 && emudup==1 && NTightJet()==1) {N1jemu22[6]++; if (ttemucan>=7) {N1jemu22[7]++; if (ttemucan>=8){N1jemu22[8]++;} } } } if(DilepFlag==23){ if (ttemucan>=2) {Nttemu23[2]++; if(emudup==1) {Nttemu23[9]++; } if ((GLB_cosmic_hasCosmicRay<1||isMC==true) && emudup==1) {Nttemu23[10]++; if (EMCLST_ele_convflag[Iele]!=1 && emudup==1){Nttemu23[11]++;} } } if (ttemucan>=3 && convcosm==1 && emudup==1) {Nttemu23[3]++; if(isData){ emuPassDupRunN23[Nttemu23[3]-1]=GLB_nrun; emuPassDupEvtN23[Nttemu23[3]-1]=GLB_nev; } if(NTightJet()==0){Nttemu23[13]++;} if(NTightJet()==1){Nttemu23[14]++;} if(NTightJet()>=2){Nttemu23[15]++;} } if (ttemucan>=4 && convcosm==1 && emudup==1){Nttemu23[4]++;} if (ttemucan>=5 && convcosm==1 && emudup==1){Nttemu23[5]++;} if (ttemucan>=6 && convcosm==1 && emudup==1 && NTightJet()>=2) {Nttemu23[6]++; if (ttemucan>=7 && Htemu(Iele,Imuon)>200) {Nttemu23[7]++; if (ttemucan>=8){Nttemu23[8]++;} } // if (ttemucan>=7 && Htemu(Iele,Imuon)>100){ Nttemu23_ht_100++; if (ttemucan>=8){ Nttemu23_ht_100_os++; } } // if (ttemucan>=7 && Htemu(Iele,Imuon)>150){ Nttemu23_ht_150++; if (ttemucan>=8){ Nttemu23_ht_150_os++; } } // if (ttemucan>=7 && Htemu(Iele,Imuon)>200){ Nttemu23_ht_200++; if (ttemucan>=8){ Nttemu23_ht_200_os++; } } // if (ttemucan>=7 && Htemu(Iele,Imuon)>250){ Nttemu23_ht_250++; if (ttemucan>=8){ Nttemu23_ht_250_os++; } } // } if (ttemucan>=6 && convcosm==1 && emudup==1 && NTightJet()==0) {Nwwemu23[6]++; if (ttemucan>=7) {Nwwemu23[7]++; if (ttemucan>=8){Nwwemu23[8]++;} } } if (ttemucan>=6 && convcosm==1 && emudup==1 && NTightJet()==1) {N1jemu23[6]++; if (ttemucan>=7) {N1jemu23[7]++; if (ttemucan>=8){N1jemu23[8]++;} } } } // } } // // } hww->hdilepflag->Fill(DilepFlag); }//Good Run list } Int_t ww_lepton_id::LabelDileptonCategory(Int_t * IdRecEle, Int_t * IdRecMuon, Int_t& NRecEle, Int_t& NRecMuon, Int_t& DilepRec){ Int_t DilepFlag=-999; Bool_t debug=false; Bool_t fillhisto=false; Int_t TriLepId=0; Int_t TriLepIdIso=0; Int_t TriLepIdMu=0; Int_t TriLepIdIsoMu=0; Int_t TriLepIdEle=0; Int_t TriLepIdIsoEle=0; Int_t Itmp; TriLepCandidate=false; if((DilepRec==6)||(DilepRec==7)){ //ELECTRONS Int_t IeleBS=0; for(Int_t j=0; j=1){ for(Int_t j=0; j=1){ for(int j = 0; j2) {TriLepCandidate=true;} // } // Treat multi-E events. (Note, DilepRec==5 will be treated along with DilepRec==3 outside, so don't need to reset) if(DilepRec==5){ Int_t IeleBS=0; for(Int_t j=0; j=2){ DilepFlag=1; // DilepFlag irrelevant for E events right now. for(Int_t j=0; j=2){ for(Int_t j=0; j2){TriLepCandidate=true;} } } if(DilepRec==3){ Int_t Iele1=IdRecEle[0]; Int_t Iele2=IdRecEle[1]; // if(BaseLineElectron(Iele1,0.,1000.)&&BaseLineElectron(Iele2,0.,1000.)){DilepFlag=1;} } TriLepId=0; TriLepIdIso=0; if(DilepRec==4){ Int_t ImuBS=0; for(int j = 0; j=2){ DilepRec=2; // Now treat as a di-muon. for(int j = 0; j=2){ for(int j = 0; j=2){TriLepCandidate=true;} } } if(DilepRec==2){ Int_t Imu1=IdRecMuon[0]; Int_t Imu2=IdRecMuon[1]; // // if((GLB_nev==310140)||(GLB_nev==249153)||(GLB_nev==563741)||(GLB_nev==277519)||(GLB_nev==438828)||(GLB_nev==249153)){ cout << "PRINTING MU-MU Event " << GLB_nev << endl; PrintBaseLineMuon(Imu1); PrintBaseLineMuon(Imu2); Print_ttmumuCandidate(Imu1,Imu2); } // // if(BaseLineMuon(Imu1)&&BaseLineMuon(Imu2)){ if(CMUPMuon(Imu1)&&CMUPMuon(Imu2)){DilepFlag=10;} // CMUP-CMUP YES if((CMUPMuon(Imu1)&&CMPMuon(Imu2))||(CMUPMuon(Imu2)&&CMPMuon(Imu1))){DilepFlag=11;} // CMUP-CMP YES if((CMUPMuon(Imu1)&&CMUMuon(Imu2))||(CMUPMuon(Imu2)&&CMUMuon(Imu1))){DilepFlag=12;} // CMUP-CMU YES if(CMUMuon(Imu1)&&CMUMuon(Imu2)){DilepFlag=13;} // CMU-CMU NO if( (CMUMuon(Imu1)&&CMPMuon(Imu2))||(CMUMuon(Imu2)&&CMPMuon(Imu1)) ){DilepFlag=14;} // CMU-CMP NO if(CMPMuon(Imu1)&&CMPMuon(Imu2)){DilepFlag=15;} // CMP-CMP NO if( (CMUPMuon(Imu1)&&CMXMuon(Imu2))||(CMUPMuon(Imu2)&&CMXMuon(Imu1)) ){DilepFlag=16;} // CMUP-CMX YES if( (CMUMuon(Imu1)&&CMXMuon(Imu2)) ||(CMUMuon(Imu2)&&CMXMuon(Imu1)) ){DilepFlag=17;} // CMU-CMX YES if( (CMPMuon(Imu1)&&CMXMuon(Imu2)) ||(CMPMuon(Imu2)&&CMXMuon(Imu1)) ){DilepFlag=18;} // CMP-CMX YES if(CMXMuon(Imu1)&&CMXMuon(Imu2)){DilepFlag=19;} // CMX-CMX YES // } } if(DilepRec==1){ Int_t Iele=IdRecEle[0]; Int_t Imuon=IdRecMuon[0]; // // if(BaseLineElectron(Iele,0.,1000.)&&BaseLineMuon(Imuon)&&CMUPMuon(Imuon)){DilepFlag=20;} if(BaseLineElectron(Iele,0.,1000.)&&BaseLineMuon(Imuon)&&CMUMuon(Imuon)&&(!CMPMuon(Imuon))){DilepFlag=21;} if(BaseLineElectron(Iele,0.,1000.)&&BaseLineMuon(Imuon)&&CMPMuon(Imuon)&&(!CMUMuon(Imuon))){DilepFlag=22;} if(BaseLineElectron(Iele,0.,1000.)&&BaseLineMuon(Imuon)&&CMXMuon(Imuon)){DilepFlag=23;} // } return DilepFlag; } void ww_lepton_id::PrintMuonDirection(Int_t imu1, Int_t imu2) { TVector2 Vmu1(MuonPx(imu1),MuonPy(imu1)); TVector2 Vmu2(MuonPx(imu2),MuonPy(imu2)); Double_t Phi_Mu1 = Vmu1.Phi(); Double_t Phi_Mu2 = Vmu2.Phi(); Phi_Mu1 = Vmu1.Phi_0_2pi(Phi_Mu1); Phi_Mu2 = Vmu2.Phi_0_2pi(Phi_Mu2); cout << " Print muon direction " << endl; cout << " -> 1st Muon -> MuonP(" << imu1 << ")= " << MuonP(imu1) << " MuonPx(" << imu1 << ")= " << MuonPx(imu1) << " MuonPy(" << imu1 << ")= " << MuonPy(imu1) << " MuonPz(" << imu1 << ")= " << MuonPz(imu1) << " MuonPt(" << imu1 << ")= " << MuonPt(imu1) << endl; cout << " -> 2nd Muon -> MuonP(" << imu2 << ")= " << MuonP(imu2) << " MuonPx(" << imu2 << ")= " << MuonPx(imu2) << " MuonPy(" << imu2 << ")= " << MuonPy(imu2) << " MuonPz(" << imu2 << ")= " << MuonPz(imu2) << " MuonPt(" << imu2 << ")= " << MuonPt(imu2) << endl; } void ww_lepton_id::PrintElectronDirection(Int_t ie1, Int_t ie2) { TVector2 Ve1(ElectronPx(ie1),ElectronPy(ie1)); TVector2 Ve2(ElectronPx(ie2),ElectronPy(ie2)); Double_t Phi_Ele1 = Ve1.Phi(); Double_t Phi_Ele2 = Ve2.Phi(); Phi_Ele1 = Ve1.Phi_0_2pi(Phi_Ele1); Phi_Ele2 = Ve2.Phi_0_2pi(Phi_Ele2); cout << " Print electron direction " << endl; cout << " -> 1st Electron -> ElectronP(" << ie1 << ")= " << ElectronP(ie1) << " ElectronPx(" << ie1 << ")= " << ElectronPx(ie1) << " ElectronPy(" << ie1 << ")= " << ElectronPy(ie1) << " ElectronPz(" << ie1 << ")= " << ElectronPz(ie1) << " ElectronPt(" << ie1 << ")= " << ElectronPt(ie1) << endl; cout << " -> 2nd Electron -> ElectronP(" << ie2 << ")= " << ElectronP(ie2) << " ElectronPx(" << ie2 << ")= " << ElectronPx(ie2) << " ElectronPy(" << ie2 << ")= " << ElectronPy(ie2) << " ElectronPz(" << ie2 << ")= " << ElectronPz(ie2) << " ElectronPt(" << ie2 << ")= " << ElectronPt(ie2) << endl; } Float_t ww_lepton_id::ZmumuMass(Int_t mu1, Int_t mu2) { //calculates transverse mass of prospective Z using input muon numbers //for muon variables. Each muon must have a valid TrackIndex double const mumass=0.10565; if ((mu1>-1 && MU_mu_trkIndex[mu1]>-1)||(mu2>-1 && MU_mu_trkIndex[mu2]>-1)) { Float_t MuonE1= TMath::Sqrt( TMath::Power(MuonP(mu1),2) + TMath::Power(mumass,2) ); Float_t MuonE2= TMath::Sqrt( TMath::Power(MuonP(mu2),2) + TMath::Power(mumass,2) ); TLorentzVector pmu1(MuonPx(mu1),MuonPy(mu1),MuonPz(mu1),MuonE1); TLorentzVector pmu2(MuonPx(mu2),MuonPy(mu2),MuonPz(mu2),MuonE2); Float_t Mass = (pmu1+pmu2).M(); return Mass; } else return -999; } Float_t ww_lepton_id::ZeeMass(Int_t clusterNumber1, Int_t clusterNumber2) { //calculates transverse mass of prospective Z using input cluster numbers //for electron variables. Each cluster must have a valid maxPtTrackIndex if (EMCLST_ele_maxPtTrackIndex[clusterNumber1]<0 || EMCLST_ele_maxPtTrackIndex[clusterNumber2]<0) return -999.; Float_t ElEx1 = ElectronEx(clusterNumber1);//Electron Et * cos(trackPhi) Float_t ElEy1 = ElectronEy(clusterNumber1);//Electron Et * sin(trackPhi) Float_t ElEz1 = ElectronEz(clusterNumber1);//cluster total E*cos(trackTheta) Float_t ElE1 = ElectronE(clusterNumber1); //cluster total energy Float_t ElEx2 = ElectronEx(clusterNumber2); Float_t ElEy2 = ElectronEy(clusterNumber2); Float_t ElEz2 = ElectronEz(clusterNumber2); Float_t ElE2 = ElectronE(clusterNumber2); TLorentzVector pe1(ElEx1,ElEy1,ElEz1,ElE1); TLorentzVector pe2(ElEx2,ElEy2,ElEz2,ElE2); Float_t Mass = (pe1+pe2).M(); return Mass; } void ww_lepton_id::PrintHtee(Int_t ie1, Int_t ie2) { Float_t htee = -1; Float_t hteejet = 0.; Bool_t debug= false; // for(int jetIndex = 0; jetIndex=0)){ if((TOPJET_topjet_et[jetIndex]>10.)&&(TMath::Abs(TOPJET_topjet_deteta[jetIndex])<2.)){ hteejet+=TOPJET_topjet_et[jetIndex]*jetEnergyCorr(jetIndex,3); } } } // htee = EleCorrEmEt(ie1)+EleCorrEmEt(ie2)+hteejet+MetCorrMuon(); // if(debug){ cout << "-----------------------------------------------------------------------------------------------------------------------------------" << endl; cout << " Htee(" << htee << ")= Et-e1(" << EleCorrEmEt(ie1) << ")+Et-2(" << EleCorrEmEt(ie2) << ")+Sum(Et-jets)(" << hteejet << ")+Met(" << MetCorrMuon() << ")" << endl;; } // // // } Float_t ww_lepton_id::Htee(Int_t ie1, Int_t ie2) { Float_t htee = -1; Float_t hteejet = 0.; // for(int jetIndex = 0; jetIndex=0)){ if((TOPJET_topjet_et[jetIndex]>10.)&&(TMath::Abs(TOPJET_topjet_deteta[jetIndex])<2.)){ hteejet+=TOPJET_topjet_et[jetIndex]*jetEnergyCorr(jetIndex,3); } } } // htee = EMCLST_ele_std_Et[ie1]+EMCLST_ele_std_Et[ie2]+hteejet+MetCorrMuon(); // // return htee; } void ww_lepton_id::GeomTowEta() { // Implement Tower Geometria for(int i = 0; i < (TOWER_NETA/2) ; ++i){ Tower_ThetaMin[TOWER_NETA-1-i] = TOWER_THETA[i]*DEGRAD; Tower_ThetaMin[i] = (180-TOWER_THETA[i+1])*DEGRAD; Tower_ThetaMax[TOWER_NETA-1-i] = TOWER_THETA[i+1]*DEGRAD; Tower_ThetaMax[i] = (180-TOWER_THETA[i])*DEGRAD; Tower_Theta[i] = (Tower_ThetaMax[i]+Tower_ThetaMin[i])/2; Tower_Theta[TOWER_NETA-1-i] = ((Tower_ThetaMax[TOWER_NETA-1-i]+ Tower_ThetaMin[TOWER_NETA-1-i])/2); } } void ww_lepton_id::PrintGeomTowEta() { cout << "--------------------------------------------------------------------------------" << endl; cout << "Ntowers= " << TOWER_ntow << " GLB_nrun= " << GLB_nrun << " GLB_nev=" << GLB_nev << endl; cout << "--------------------------------------------------------------------------------" << endl; for(int i = 0; i < TOWER_NETA ; ++i){ cout << "--------------------------------------------------" << endl; cout << "Itower= " << i << " ThetaMin=" << Tower_ThetaMin[i] << " ThetaMax=" << Tower_ThetaMax[i] << " ThetaCentral=" << Tower_Theta[i] << endl; } } Double_t ww_lepton_id::TowTheta(Int_t Ieta) { return Tower_Theta[Ieta]; } Double_t ww_lepton_id::TowEmE(Int_t ITow) { Double_t unpacked=(float(TOWER_tow_packedEmE[ITow])+0.5)/100.; return unpacked; } Double_t ww_lepton_id::TowEmPhi(Int_t ITow) { Double_t unpacked=(float(TOWER_tow_packedEmPhi[ITow])+0.5)/100.; return unpacked; } Double_t ww_lepton_id::TowHadE(Int_t ITow) { Double_t unpacked=(float(TOWER_tow_packedHadE[ITow])+0.5)/100.; return unpacked; } Double_t ww_lepton_id::TowHadPhi(Int_t ITow) { Double_t unpacked=(float(TOWER_tow_packedHadPhi[ITow])+0.5)/100.; return unpacked; } Float_t ww_lepton_id::HteeTow(Int_t ie1, Int_t ie2) { // Bool_t debug=false; // Float_t htee = -1; Float_t hteetow = 0.; Int_t iEta = 0; Double_t TowerTheta = 0.; Double_t TowEmEt = 0.; Double_t TowHadEt = 0.; // // for(int towIndex = 0; towIndex=0)){ if((TOPJET_topjet_et[jetIndex]>10.)&&(TMath::Abs(TOPJET_topjet_deteta[jetIndex])<2.)){ htemujet+=TOPJET_topjet_et[jetIndex]*jetEnergyCorr(jetIndex,3); } } } // htemu = EMCLST_ele_std_Et[ie]+MuonPt(imu)+htemujet+MetCorrMuon(); // return htemu; } Float_t ww_lepton_id::HtemuTow(Int_t ie, Int_t imu) { Float_t htemu = -1; Float_t htemutow = 0.; Bool_t debug=false; Double_t TowerTheta = 0.; Double_t TowEmEt = 0.; Double_t TowHadEt = 0.; Int_t iEta = 0; // // for(int towIndex = 0; towIndex=0)){ //jet loop on the recluster top jet coll. if((TOPJET_topjet_et[jetIndex]>10.)&&(TMath::Abs(TOPJET_topjet_deteta[jetIndex])<2.)){ cmissetx = cmissetx + ( (1. - jetEnergyCorr(jetIndex,3))*TOPJET_topjet_px[jetIndex] ); cmissety = cmissety + ( (1. - jetEnergyCorr(jetIndex,3))*TOPJET_topjet_py[jetIndex] ); // } } } // return TMath::Sqrt(TMath::Power(cmissetx,2) + TMath::Power(cmissety,2)); // } Double_t ww_lepton_id::MetCorrMuonPhi() { // Float_t cmissetx = TOPSUMMARY_topsum_metvtxcorrvalue*TMath::Cos(TOPSUMMARY_topsum_metvtxcorrphi); Float_t cmissety = TOPSUMMARY_topsum_metvtxcorrvalue*TMath::Sin(TOPSUMMARY_topsum_metvtxcorrphi); // // for(int mu = 0; mu=0)){ //jet loop on the recluster top jet coll. if((TOPJET_topjet_et[jetIndex]>10.)&&(TMath::Abs(TOPJET_topjet_deteta[jetIndex])<2.)){ cmissetx = cmissetx + ( (1. - jetEnergyCorr(jetIndex,3))*TOPJET_topjet_px[jetIndex] ); cmissety = cmissety + ( (1. - jetEnergyCorr(jetIndex,3))*TOPJET_topjet_py[jetIndex] ); // } } } // // TVector2 MetCorr(cmissetx,cmissety); // // return MetCorr.Phi(); // } Double_t ww_lepton_id::DeltaPhiMetAny(Float_t Pljx, Float_t Pljy) { Bool_t debug=false; Float_t VMetX=MetCorrMuon()*TMath::Cos(MetCorrMuonPhi()); Float_t VMetY=MetCorrMuon()*TMath::Sin(MetCorrMuonPhi()); TVector2 Vmet(VMetX,VMetY); TVector2 Vlj(Pljx,Pljy); Double_t DeltaPhiMet = Vmet.DeltaPhi(Vlj); if(debug){ cout << "---------------------------------------------" << endl; cout << "-> Met-X= " << VMetX << " ; Met-Y=" << VMetY << endl; cout << "-> Guy-X= " << Pljx << " ; Guy-Y=" << Pljy << endl; cout << "-> DeltaPhiMet=" << TMath::Abs(DeltaPhiMet) << endl; } return TMath::Abs(DeltaPhiMet); } Double_t ww_lepton_id::DeltaPhiMetUncAny(Float_t Pljx, Float_t Pljy) { Double_t VMetUncX=TOPSUMMARY_topsum_metvtxcorrvalue*TMath::Cos(TOPSUMMARY_topsum_metvtxcorrphi); Double_t VMetUncY=TOPSUMMARY_topsum_metvtxcorrvalue*TMath::Sin(TOPSUMMARY_topsum_metvtxcorrphi); TVector2 Vmet(VMetUncX,VMetUncY); TVector2 Vlj(Pljx,Pljy); Double_t DeltaPhiMet = Vmet.DeltaPhi(Vlj); return TMath::Abs(DeltaPhiMet); } Double_t ww_lepton_id::DeltaPhiMetAny_dev(Float_t Pljx, Float_t Pljy) { Bool_t debug=false; Double_t VMetX=MetCorrMuon()*TMath::Cos(MetCorrMuonPhi()); Double_t VMetY=MetCorrMuon()*TMath::Sin(MetCorrMuonPhi()); TVector2 Vmet(VMetX,VMetY); TVector2 Vlj(Pljx,Pljy); Double_t Phi_Met = Vmet.Phi(); Double_t Phi_Vlj = Vlj.Phi(); if(debug){ cout << "-> Phi_Met before [0,pi] conversion " << Phi_Met << endl; cout << "-> Phi_Vlj before [0,pi] conversion " << Phi_Vlj << endl; } Phi_Met = Vmet.Phi_0_2pi(Phi_Met); Phi_Vlj = Vlj.Phi_0_2pi(Phi_Vlj); if(debug){ cout << "-> Phi_Met after [0,pi] conversion " << Phi_Met << endl; cout << "-> Phi_Vlj after [0,pi] conversion " << Phi_Vlj << endl; } Double_t DeltaPhiMet=Phi_Met-Phi_Vlj; if(debug){ cout << "-> DeltaPhiMet" << TMath::Abs(Phi_Met-Phi_Vlj) << endl; } return TMath::Abs(DeltaPhiMet); } Double_t ww_lepton_id::DPhiee(Int_t ie1,Int_t ie2) { TVector2 Ve1(ElectronPx(ie1),ElectronPy(ie1)); TVector2 Ve2(ElectronPx(ie2),ElectronPy(ie2)); Double_t DeltaPhi = TMath::Abs(Ve1.DeltaPhi(Ve2)); return DeltaPhi; } Double_t ww_lepton_id::DPhimumu(Int_t mu1,Int_t mu2) { TVector2 Ve1(MuonPx(mu1),MuonPy(mu1)); TVector2 Ve2(MuonPx(mu2),MuonPy(mu2)); Double_t DeltaPhi = TMath::Abs(Ve1.DeltaPhi(Ve2)); return DeltaPhi; } Double_t ww_lepton_id::DPhiemu(Int_t ie,Int_t imu) { TVector2 Ve1(ElectronPx(ie),ElectronPy(ie)); TVector2 Ve2(MuonPx(imu),MuonPy(imu)); Double_t DeltaPhi = TMath::Abs(Ve1.DeltaPhi(Ve2)); return DeltaPhi; } Double_t ww_lepton_id::DPhiMetDee(Int_t ie1,Int_t ie2) { // Float_t dphimlj=0; Float_t dphimlj0=1000.; // Float_t dphime1=0; Float_t dphime2=0; // Bool_t debug=false; // dphime1=DeltaPhiMetAny(ElectronPx(ie1),ElectronPy(ie1)); dphime2=DeltaPhiMetAny(ElectronPx(ie2),ElectronPy(ie2)); // // if(debug){ cout << "DPhiMetDee" << endl; cout << "Dphi(Met-1st-e)= " << dphime1 << endl; cout << "Dphi(Met-2nd-e)= " << dphime2 << endl; } // // for(int jetIndex = 0; jetIndex=0)){ if((TOPJET_topjet_et[jetIndex]>10.)&&(TMath::Abs(TOPJET_topjet_deteta[jetIndex])<2.)){ // dphimlj=DeltaPhiMetAny(TOPJET_topjet_px[jetIndex],TOPJET_topjet_py[jetIndex]); if (dphimlj DPhiMetDmumu" << endl; cout << "-> Dphi(Met-1st-mu)= " << dphimmu1 << " (rad) " << dphimmu1*360/(2*3.1416) << " (deg) " < Dphi(Met-2nd-mu)= " << dphimmu2 << " (rad) " << dphimmu2*360/(2*3.1416) << " (deg) " <=0)){ if((TOPJET_topjet_et[jetIndex]>10.)&&(TMath::Abs(TOPJET_topjet_deteta[jetIndex])<2.)){ // dphimlj=DeltaPhiMetAny(TOPJET_topjet_px[jetIndex],TOPJET_topjet_py[jetIndex]); // if(debug){ cout << "-> Dphi(Met," << "j=" << jetIndex << ")=" << dphimlj << " (rad) " << dphimlj*360/(2*3.1416) << " (deg) " < Min Dphi(Met,jets) =" << dphimlj0 << " (rad) " << dphimlj0*360/(2*3.1416) << " (deg)" <=0)){ if((TOPJET_topjet_et[jetIndex]>10.)&&(TMath::Abs(TOPJET_topjet_deteta[jetIndex])<2.4)){ Vj[jetIndex].Set(TOPJET_topjet_px[jetIndex],TOPJET_topjet_py[jetIndex]); Phi_j[jetIndex]=Vj[jetIndex].Phi(); cout << "Phi jet[" < DPhiMetDmumu" << endl; cout << "-> Dphi(Met-1st-mu)= " << dphimmu1 << " (rad) " << dphimmu1*360/(2*3.1416) << " (deg) " < Dphi(Met-2nd-mu)= " << dphimmu2 << " (rad) " << dphimmu2*360/(2*3.1416) << " (deg) " <=0)){ if((TOPJET_topjet_et[jetIndex]>10.)&&(TMath::Abs(TOPJET_topjet_deteta[jetIndex])<2.4)){ // dphimlj=DeltaPhiMetAny_dev(TOPJET_topjet_px[jetIndex],TOPJET_topjet_py[jetIndex]); // if(debug){ cout << "-> Dphi(Met," << "j=" << jetIndex << ")=" << dphimlj << " (rad) " << dphimlj*360/(2*3.1416) << " (deg) " < Min Dphi(Met,jets) =" << dphimlj0 << " (rad) " << dphimlj0*360/(2*3.1416) << " (deg)" < DPhiMet_UNCDmumu" << endl; cout << "-> Dphi(Met_UNC-1st-mu)= " << dphimmu1 << " (rad) " << dphimmu1*360/(2*3.1416) << " (deg) " < Dphi(Met_UNC-2nd-mu)= " << dphimmu2 << " (rad) " << dphimmu2*360/(2*3.1416) << " (deg) " <=0)){ if((TOPJET_topjet_et[jetIndex]>10.)&&(TMath::Abs(TOPJET_topjet_deteta[jetIndex])<2.)){ // dphimlj=DeltaPhiMetUncAny(TOPJET_topjet_px[jetIndex],TOPJET_topjet_py[jetIndex]); // if(debug){ cout << "-> Dphi(Met_UNC," << "j=" << jetIndex << ")=" << dphimlj << " (rad) " << dphimlj*360/(2*3.1416) << " (deg) " < Min Dphi(Met_UNC,jets) =" << dphimlj0 << " (rad) " << dphimlj0*360/(2*3.1416) << " (deg)" <=0)){ //if((jetIndex=TOPJET_topjet_njets_topjet[0])){ if((TOPJET_topjet_et[jetIndex]>10.)&&(TMath::Abs(TOPJET_topjet_deteta[jetIndex])<2.)){ ntightjet++; } } } // return ntightjet; // } void ww_lepton_id::Print_tteeCandidate(Int_t ierec1, Int_t ierec2) { Double_t met, met0, zmass, htee, dphi; zmass = ZeeMass(ierec1,ierec2); htee=Htee(ierec1,ierec2); met0=TOPSUMMARY_topsum_metvtxcorrvalue; met=MetCorrMuon(); dphi=DPhiMetDee(ierec1,ierec2); cout << "**CANDIDATE BEGINS**********************************************************************" << endl; cout << "--- " << GLB_nrun << " --- " << GLB_nev << " --------------------------------------------" << endl; cout << " Z mass= " << zmass << "; MET= " << met << "; MET-UNC= " << met0 << "; Dphi= " << dphi*360./(2*3.1416) << "; Ht= " << htee << endl; cout <<"Isolation electron 1= "<< IsoBaseLineElectron(ierec1)<<"Isolation electron 2= "<< IsoBaseLineElectron(ierec2)<20.) &&CentralCluster(ierec2,0.,1000.)&&(EMCLST_ele_std_Et[ierec2]>20.)) { if(BaseLineElectron(ierec1,20.,1000.) && BaseLineElectron(ierec2,20.,1000.)) { if((IsoBaseLineElectron(ierec1)<0.1)&&(IsoBaseLineElectron(ierec2)<0.1)){ if((zmass<76.)||(zmass>106.)&&zmass>0) { if(met>25.) { if( ((DPhiMetDee(ierec1,ierec2)>0.349065)&&(met<50.))||(met>50.)) { if( ((DPhiMetDee(ierec1,ierec2)>0.349065)&&(met<50.))||(met>50.)) { if(((DPhiMetDee(ierec1,ierec2)>0.349065)&&(met<50.))||(met>50.)){ if(EMCLST_ele_std_charge[ierec1]*EMCLST_ele_std_charge[ierec2]<0) { return 9; } return 8; } return 7; } return 6; } return 5; } return 4; } return 3; } return 2; } return 1; } return 0; } Int_t ww_lepton_id::ttmumuCandidate(Int_t imurec1, Int_t imurec2) { Double_t met, zmass, htmumu; zmass = ZmumuMass(imurec1,imurec2); met=MetCorrMuon(); if (FiducialMuon(imurec1)&&(MuonPt(imurec1)>20.)&&FiducialMuon(imurec2)&&(MuonPt(imurec2)>20.)) { if(BaseLineMuon(imurec1) && BaseLineMuon(imurec2)) { if((IsoBaseLineMuon(imurec1)<0.1)&&(IsoBaseLineMuon(imurec2)<0.1)) { if((zmass<76.)||(zmass>106.)&&zmass>0) { if(met>25.) { if( ((DPhiMetDmumu(imurec1,imurec2)>0.349065)&&(met<50.))||(met>50.)) { if(((DPhiMetDmumu(imurec1,imurec2)>0.349065)&&(met<50.))||(met>50.)) { if(((DPhiMetDmumu(imurec1,imurec2)>0.349065)&&(met<50.))||(met>50.)){ if (MuonCharge(imurec1)*MuonCharge(imurec2)<0) { return 9; } return 8; } return 7; } return 6; } return 5; } return 4; } return 3; } return 2; } return 1; } return 0; } Int_t ww_lepton_id::ttemuCandidate(Int_t ierec, Int_t imurec) { Double_t met, htemu; met=MetCorrMuon(); if(FiducialMuon(imurec)&&(MuonPt(imurec)>20.) &&CentralCluster(ierec,0.,1000.)&&(EMCLST_ele_std_Et[ierec]>20.)) { if(BaseLineMuon(imurec)&&BaseLineElectron(ierec,20.,1000.)) { if((IsoBaseLineMuon(imurec)<0.1)&&(IsoBaseLineElectron(ierec)<0.1)){ if(met>25.) { if( ((DPhiMetDemu(ierec,imurec)>0.349065)&&(met<50.))||(met>50.)) { if(((DPhiMetDemu(ierec,imurec)>0.349065)&&(met<50.))||(met>50.)) { if(((DPhiMetDemu(ierec,imurec)>0.349065)&&(met<50.))||(met>50.)){ if(EMCLST_ele_std_charge[ierec]*MuonCharge(imurec)<0) { return 8; } return 7; } return 6; } return 5; } return 4; } return 3; } return 2; } return 1; } return 0; } void ww_lepton_id::acceptancettbar(Int_t Ievprint) { Float_t Ninc=Ievprint/BRWW; if(EventComputeAcceptanceEE){ if(isSignalttbar){ Float_t eff0=float(Nttee[0])/float(Ninc); Float_t eff1=float(Nttee[1])/float(Nttee[0]); Float_t eff2=float(Nttee[2])/float(Nttee[1]); Float_t eff12=float(Nttee[12])/float(Nttee[2]); Float_t eff10=float(Nttee[10])/float(Nttee[12]); Float_t eff11=float(Nttee[11])/float(Nttee[10]); Float_t eff3=float(Nttee[3])/float(Nttee[11]); Float_t eff4=float(Nttee[4])/float(Nttee[3]); Float_t eff5=float(Nttee[5])/float(Nttee[4]); Float_t eff6=float(Nttee[6])/float(Nttee[5]); Float_t eff7=float(Nttee[7])/float(Nttee[6]); Float_t eff8=float(Nttee[8])/float(Nttee[7]); Float_t eff9=float(Nttee[9])/float(Nttee[8]); // Float_t eff7ww=float(Nwwee[7])/float(Nttee[6]); Float_t eff9ww=float(Nwwee[9])/float(Nwwee[7]); // Float_t eff71j=float(N1jee[7])/float(Nttee[6]); Float_t eff91j=float(N1jee[9])/float(N1jee[7]); Float_t eff7b=float(Nttee7b)/float(Nttee[6]); Float_t eff8b=float(Nttee8b)/float(Nttee7b); Float_t eff9b=float(Nttee9b)/float(Nttee8b); // Float_t err0=(sqrt(eff0*(1-eff0)/float(Ninc))); Float_t err1=(sqrt(eff1*(1-eff1)/float(Nttee[0]))); Float_t err2=(sqrt(eff2*(1-eff2)/float(Nttee[1]))); Float_t err12=(sqrt(eff12*(1-eff12)/float(Nttee[2]))); Float_t err10=(sqrt(eff10*(1-eff10)/float(Nttee[12]))); Float_t err11=(sqrt(eff11*(1-eff11)/float(Nttee[10]))); Float_t err3=(sqrt(eff3*(1-eff3)/float(Nttee[11]))); Float_t err4=(sqrt(eff4*(1-eff4)/float(Nttee[3]))); Float_t err5=(sqrt(eff5*(1-eff5)/float(Nttee[4]))); Float_t err6=(sqrt(eff6*(1-eff6)/float(Nttee[5]))); Float_t err7=(sqrt(eff7*(1-eff7)/float(Nttee[6]))); Float_t err8=(sqrt(eff8*(1-eff8)/float(Nttee[7]))); Float_t err9=(sqrt(eff9*(1-eff9)/float(Nttee[8]))); // Float_t err7ww=(sqrt(eff7ww*(1-eff7ww)/float(Nttee[6]))); Float_t err9ww=(sqrt(eff9ww*(1-eff9ww)/float(Nwwee[7]))); // Float_t err71j=(sqrt(eff71j*(1-eff71j)/float(Nttee[6]))); Float_t err91j=(sqrt(eff91j*(1-eff91j)/float(N1jee[7]))); // Float_t err7b=(sqrt(eff7b*(1-eff7b)/float(Nttee[6]))); Float_t err8b=(sqrt(eff8b*(1-eff8b)/float(Nttee7b))); Float_t err9b=(sqrt(eff9b*(1-eff9b)/float(Nttee8b))); // Float_t effht100=float(Nttee_ht_100)/float(Nttee[7]); Float_t errht100=(sqrt(effht100*(1-effht100)/float(Nttee[7]))); Float_t effht100os=float(Nttee_ht_100_os)/float(Nttee_ht_100); Float_t errht100os=(sqrt(effht100os*(1-effht100os)/float(Nttee_ht_100))); // Float_t effht150=float(Nttee_ht_150)/float(Nttee[7]); Float_t errht150=(sqrt(effht150*(1-effht150)/float(Nttee[7]))); Float_t effht150os=float(Nttee_ht_150_os)/float(Nttee_ht_150); Float_t errht150os=(sqrt(effht150os*(1-effht150os)/float(Nttee_ht_150))); // Float_t effht200=float(Nttee_ht_200)/float(Nttee[7]); Float_t errht200=(sqrt(effht200*(1-effht200)/float(Nttee[7]))); Float_t effht200os=float(Nttee_ht_200_os)/float(Nttee_ht_200); Float_t errht200os=(sqrt(effht200os*(1-effht200os)/float(Nttee_ht_200))); // Float_t effht250=float(Nttee_ht_250)/float(Nttee[7]); Float_t errht250=(sqrt(effht250*(1-effht250)/float(Nttee[7]))); Float_t effht250os=float(Nttee_ht_250_os)/float(Nttee_ht_250); Float_t errht250os=(sqrt(effht250os*(1-effht250os)/float(Nttee_ht_250))); cout << "-----------------------------------------------------" << endl; cout << "ee Fiducial + Pt>20 == " << Nttee[0] << " -> " << eff0*100. << " +- " << err0*100. << endl; cout << "ee Fiducial + Pt>20 (deltaR<0.04) == " << Nttee[1] << " -> " << eff1*100. << " +- " << err1*100. << endl; cout << "ee ID == " << Nttee[2] << " -> " << eff2*100. << " +- " << err2*100. << endl; cout << "ee Duplicate Filter == " << Nttee[12] << " -> " << eff12*100. << " +- " << err12*100. << endl; cout << "ee Anyes Cosmic filter == " << Nttee[10] << " -> " << eff10*100. << " +- " << err10*100. << endl; cout << "ee Conversion Electrons cut == " << Nttee[11] << " -> " << eff11*100. << " +- " << err11*100. << endl; cout << "ee Isolation == " << Nttee[3] << " -> " << eff3*100. << " +- " << err3*100. << endl; cout << "ee Zmass<76 OR Zmass > 106 == " << Nttee[4] << " -> " << eff4*100. << " +- " << err4*100. << endl; cout << "Additional info, N 0jets="<25. == " << Nttee[5] << " -> " << eff5*100. << " +- " << err5*100. << endl; cout << "ee delta-phi(Met-l,j) Met<50. == " << Nttee[6] << " -> " << eff6*100. << " +- " << err6*100. << endl; cout <<"--------ttbar events:"<=2 == " << Nttee[7] << " -> " << eff7*100. << " +- " << err7*100. << endl; cout << "ee Ht>200. == " << Nttee[8] << " -> " << eff8*100. << " +- " << err8*100. << endl; cout << "ee Qe1*Qe2<0 == " << Nttee[9] << " -> " << eff9*100. << " +- " << err9*100. << endl; cout << "-------HT sweep ---------------------------------" << endl; cout << "ee Ht>100. == " << Nttee_ht_100 << " -> " << effht100*100. << " +- " << errht100*100. << endl; cout << "ee Ht>100. Qe1*Qe2<0 == " << Nttee_ht_100_os << " -> " << effht100os*100. << " +- " << errht100os*100. << endl; cout << "-----------------------------------------------------" << endl; cout << "ee Ht>150. == " << Nttee_ht_150 << " -> " << effht150*100. << " +- " << errht150*100. << endl; cout << "ee Ht>150. Qe1*Qe2<0 == " << Nttee_ht_150_os << " -> " << effht150os*100. << " +- " << errht150os*100. << endl; cout << "-----------------------------------------------------" << endl; cout << "ee Ht>200. == " << Nttee_ht_200 << " -> " << effht200*100. << " +- " << errht200*100. << endl; cout << "ee Ht>200. Qe1*Qe2<0 == " << Nttee_ht_200_os << " -> " << effht200os*100. << " +- " << errht200os*100. << endl; cout << "-----------------------------------------------------" << endl; cout << "ee Ht>250. == " << Nttee_ht_250 << " -> " << effht250*100. << " +- " << errht250*100. << endl; cout << "ee Ht>250. Qe1*Qe2<0 == " << Nttee_ht_250_os << " -> " << effht250os*100. << " +- " << errht250os*100. << endl; cout << "-----------------------------------------------------" << endl; cout <<"--------WW events:"< " << eff7ww*100. << " +- " << err7ww*100. << endl; cout << "ee Qe1*Qe2<0 == " << Nwwee[9] << " -> " << eff9ww*100. << " +- " << err9ww*100. << endl; cout <<"--------WW events:"< " << eff71j*100. << " +- " << err71j*100. << endl; cout << "ee Qe1*Qe2<0 == " << N1jee[9] << " -> " << eff91j*100. << " +- " << err91j*100. << endl; cout << "-----------------------------------------------------" << endl; cout << "ee Njet>=2 dR(l,j)<0.4 == " << Nttee7b << " -> " << eff7b*100. << " +- " << err7b*100. << endl; cout << "ee Ht>200. dR(l,j)<0.4 == " << Nttee8b << " -> " << eff8b*100. << " +- " << err8b*100. << endl; cout << "ee Qe1*Qe2<0 dR(l,j)<0.4 == " << Nttee9b << " -> " << eff9b*100. << " +- " << err9b*100. << endl; } } if(EventComputeAcceptanceMUMU){ if(isSignalttbar){ Float_t eff0=float(Nttmumu[0])/float(Ninc); Float_t eff1=float(Nttmumu[1])/float(Nttmumu[0]); Float_t eff2=float(Nttmumu[2])/float(Nttmumu[1]); Float_t eff12=float(Nttmumu[12])/float(Nttmumu[2]); Float_t eff10=float(Nttmumu[10])/float(Nttmumu[12]); Float_t eff3=float(Nttmumu[3])/float(Nttmumu[10]); Float_t eff4=float(Nttmumu[4])/float(Nttmumu[3]); Float_t eff5=float(Nttmumu[5])/float(Nttmumu[4]); Float_t eff6=float(Nttmumu[6])/float(Nttmumu[5]); Float_t eff7=float(Nttmumu[7])/float(Nttmumu[6]); Float_t eff8=float(Nttmumu[8])/float(Nttmumu[7]); Float_t eff9=float(Nttmumu[9])/float(Nttmumu[8]); // Float_t eff7ww=float(Nwwmumu[7])/float(Nttmumu[6]); Float_t eff9ww=float(Nwwmumu[9])/float(Nwwmumu[7]); // Float_t eff71j=float(N1jmumu[7])/float(Nttmumu[6]); Float_t eff91j=float(N1jmumu[9])/float(N1jmumu[7]); // Float_t err0=(sqrt(eff0*(1-eff0)/float(Ninc))); Float_t err1=(sqrt(eff1*(1-eff1)/float(Nttmumu[0]))); Float_t err2=(sqrt(eff2*(1-eff2)/float(Nttmumu[1]))); Float_t err12=(sqrt(eff12*(1-eff12)/float(Nttmumu[2]))); Float_t err10=(sqrt(eff10*(1-eff10)/float(Nttmumu[12]))); Float_t err3=(sqrt(eff3*(1-eff3)/float(Nttmumu[10]))); Float_t err4=(sqrt(eff4*(1-eff4)/float(Nttmumu[3]))); Float_t err5=(sqrt(eff5*(1-eff5)/float(Nttmumu[4]))); Float_t err6=(sqrt(eff6*(1-eff6)/float(Nttmumu[5]))); Float_t err7=(sqrt(eff7*(1-eff7)/float(Nttmumu[6]))); Float_t err8=(sqrt(eff8*(1-eff8)/float(Nttmumu[7]))); Float_t err9=(sqrt(eff9*(1-eff9)/float(Nttmumu[8]))); // Float_t err7ww=(sqrt(eff7ww*(1-eff7ww)/float(Nttmumu[6]))); Float_t err9ww=(sqrt(eff9ww*(1-eff9ww)/float(Nwwmumu[8]))); // Float_t err71j=(sqrt(eff71j*(1-eff71j)/float(Nttmumu[6]))); Float_t err91j=(sqrt(eff91j*(1-eff91j)/float(N1jmumu[8]))); // Float_t effht100=float(Nttmumu_ht_100)/float(Nttmumu[7]); Float_t errht100=(sqrt(effht100*(1-effht100)/float(Nttmumu[7]))); Float_t effht100os=float(Nttmumu_ht_100_os)/float(Nttmumu_ht_100); Float_t errht100os=(sqrt(effht100os*(1-effht100os)/float(Nttmumu_ht_100))); // Float_t effht150=float(Nttmumu_ht_150)/float(Nttmumu[7]); Float_t errht150=(sqrt(effht150*(1-effht150)/float(Nttmumu[7]))); Float_t effht150os=float(Nttmumu_ht_150_os)/float(Nttmumu_ht_150); Float_t errht150os=(sqrt(effht150os*(1-effht150os)/float(Nttmumu_ht_150))); // Float_t effht200=float(Nttmumu_ht_200)/float(Nttmumu[7]); Float_t errht200=(sqrt(effht200*(1-effht200)/float(Nttmumu[7]))); Float_t effht200os=float(Nttmumu_ht_200_os)/float(Nttmumu_ht_200); Float_t errht200os=(sqrt(effht200os*(1-effht200os)/float(Nttmumu_ht_200))); // Float_t effht250=float(Nttmumu_ht_250)/float(Nttmumu[7]); Float_t errht250=(sqrt(effht250*(1-effht250)/float(Nttmumu[7]))); Float_t effht250os=float(Nttmumu_ht_250_os)/float(Nttmumu_ht_250); Float_t errht250os=(sqrt(effht250os*(1-effht250os)/float(Nttmumu_ht_250))); // // cout << "-----------------------------------------------------" << endl; cout << "mumu Fiducial + Pt>20 == " << Nttmumu[0] << " -> " << eff0*100. << " +- " << err0*100. << endl; cout << "mumu Fiducial + Pt>20 (deltaR<0.04) == " << Nttmumu[1] << " -> " << eff1*100. << " +- " << err1*100. << endl; cout << "mumu ID == " << Nttmumu[2] << " -> " << eff2*100. << " +- " << err2*100. << endl; cout << "mumu Duplicate Filter == " << Nttmumu[12] << " -> " << eff12*100. << " +- " << err12*100. << endl; cout << "mumu Anyes Cosmic filter == " << Nttmumu[10] << " -> " << eff10*100. << " +- " << err10*100. << endl; cout << "mumu Isolation == " << Nttmumu[3] << " -> " << eff3*100. << " +- " << err3*100. << endl; cout << "mumu Zmass<76 OR Zmass > 106 == " << Nttmumu[4] << " -> " << eff4*100. << " +- " << err4*100. << endl; cout << "Additional info, N 0jets="<25. == " << Nttmumu[5] << " -> " << eff5*100. << " +- " << err5*100. << endl; cout << "mumu delta-phi(Met-l,j) Met<50. == " << Nttmumu[6] << " -> " << eff6*100. << " +- " << err6*100. << endl; cout << "--------ttbar events:"<=2 == " << Nttmumu[7] << " -> " << eff7*100. << " +- " << err7*100. << endl; cout << "mumu Ht>200. == " << Nttmumu[8] << " -> " << eff8*100. << " +- " << err8*100. << endl; cout << "mumu Qe1*Qe2<0 == " << Nttmumu[9] << " -> " << eff9*100. << " +- " << err9*100. << endl; cout << "-------HT sweep ---------------------------------" << endl; cout << "mumu Ht>100. == " << Nttmumu_ht_100 << " -> " << effht100*100. << " +- " << errht100*100. << endl; cout << "mumu Ht>100. Qe1*Qe2<0 == " << Nttmumu_ht_100_os << " -> " << effht100os*100. << " +- " << errht100os*100. << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>150. == " << Nttmumu_ht_150 << " -> " << effht150*100. << " +- " << errht150*100. << endl; cout << "mumu Ht>150. Qe1*Qe2<0 == " << Nttmumu_ht_150_os << " -> " << effht150os*100. << " +- " << errht150os*100. << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>200. == " << Nttmumu_ht_200 << " -> " << effht200*100. << " +- " << errht200*100. << endl; cout << "mumu Ht>200. Qe1*Qe2<0 == " << Nttmumu_ht_200_os << " -> " << effht200os*100. << " +- " << errht200os*100. << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>250. == " << Nttmumu_ht_250 << " -> " << effht250*100. << " +- " << errht250*100. << endl; cout << "mumu Ht>250. Qe1*Qe2<0 == " << Nttmumu_ht_250_os << " -> " << effht250os*100. << " +- " << errht250os*100. << endl; cout << "-----------------------------------------------------" << endl; cout << "--------WW events:"< " << eff7ww*100. << " +- " << err7ww*100. << endl; cout << "mumu Qe1*Qe2<0 == " << Nwwmumu[9] << " -> " << eff9ww*100. << " +- " << err9ww*100. << endl; cout <<"--------WW events:"< " << eff71j*100. << " +- " << err71j*100. << endl; cout << "mumu Qe1*Qe2<0 == " << N1jmumu[9] << " -> " << eff91j*100. << " +- " << err91j*100. << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Fiducial + Pt>20 == " << Nttmumu[0] << endl; cout << "mumu Fiducial + Pt>20 (deltaR<0.04) == " << Nttmumu[1] << endl; cout << "mumu ID == " << Nttmumu[2] << endl; cout << "mumu Duplicate Filter == " << Nttmumu[12] << endl; cout << "mumu Cosmic Cut == " << Nttmumu[10] << endl; cout << "mumu Isolation == " << Nttmumu[3] << endl; cout << "mumu Zmass<76 OR Zmass > 106 == " << Nttmumu[4] << endl; cout << "Additional info, N 0jets="<25. == " << Nttmumu[5] << endl; cout << "mumu delta-phi(Met-l,j) Met<50. == " << Nttmumu[6] << endl; cout << "--------ttbar events:"<=2 == " << Nttmumu[7] << endl; cout << "mumu Ht>200. == " << Nttmumu[8] << endl; cout << "mumu Qe1*Qe2<0 == " << Nttmumu[9] << endl; cout << "--------WW events:"< 10 [CMUP-CMUP]" << endl; cout << "mumu ID == " << Nttmumu10[2] << endl; cout << "mumu Duplicate Filter == " << Nttmumu10[12] << endl; cout << "mumu Cosmic Cut == " << Nttmumu10[10] << endl; cout << "mumu Isolation == " << Nttmumu10[3] << endl; cout << "mumu Zmass<76 OR Zmass > 106 == " << Nttmumu10[4] << endl; cout << "Additional info, N 0jets="<25. == " << Nttmumu10[5] << endl; cout << "mumu delta-phi(Met-l,j) Met<50. == " << Nttmumu10[6] << endl; cout << "--------ttbar events:"<=2 == " << Nttmumu10[7] << endl; cout << "mumu Ht>200. == " << Nttmumu10[8] << endl; cout << "mumu Qe1*Qe2<0 == " << Nttmumu10[9] << endl; cout << "-------HT sweep ---------------------------------" << endl; cout << "mumu Ht>100. == " << Nttmumu11_ht_100 << endl; cout << "mumu Ht>100. Qe1*Qe2<0 == " << Nttmumu11_ht_100_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>150. == " << Nttmumu11_ht_150 << endl; cout << "mumu Ht>150. Qe1*Qe2<0 == " << Nttmumu11_ht_150_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>200. == " << Nttmumu11_ht_200 << endl; cout << "mumu Ht>200. Qe1*Qe2<0 == " << Nttmumu11_ht_200_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>250. == " << Nttmumu11_ht_250 << endl; cout << "mumu Ht>250. Qe1*Qe2<0 == " << Nttmumu11_ht_250_os << endl; cout << "-----------------------------------------------------" << endl; cout << "--------WW events:"< 11 [CMUP-CMP]" << endl; cout << "mumu ID == " << Nttmumu11[2] << endl; cout << "mumu Duplicate Filter == " << Nttmumu11[12] << endl; cout << "mumu Cosmic Cut == " << Nttmumu11[10] << endl; cout << "mumu Isolation == " << Nttmumu11[3] << endl; cout << "mumu Zmass<76 OR Zmass > 106 == " << Nttmumu11[4] << endl; cout << "Additional info, N 0jets="<25. == " << Nttmumu11[5] << endl; cout << "mumu delta-phi(Met-l,j) Met<50. == " << Nttmumu11[6] << endl; cout << "--------ttbar events:"<=2 == " << Nttmumu11[7] << endl; cout << "mumu Ht>200. == " << Nttmumu11[8] << endl; cout << "mumu Qe1*Qe2<0 == " << Nttmumu11[9] << endl; cout << "-------HT sweep ---------------------------------" << endl; cout << "mumu Ht>100. == " << Nttmumu11_ht_100 << endl; cout << "mumu Ht>100. Qe1*Qe2<0 == " << Nttmumu11_ht_100_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>150. == " << Nttmumu11_ht_150 << endl; cout << "mumu Ht>150. Qe1*Qe2<0 == " << Nttmumu11_ht_150_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>200. == " << Nttmumu11_ht_200 << endl; cout << "mumu Ht>200. Qe1*Qe2<0 == " << Nttmumu11_ht_200_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>250. == " << Nttmumu11_ht_250 << endl; cout << "mumu Ht>250. Qe1*Qe2<0 == " << Nttmumu11_ht_250_os << endl; cout << "-----------------------------------------------------" << endl; cout << "--------WW events:"< 12 [CMUP-CMU]" << endl; cout << "mumu ID == " << Nttmumu12[2] << endl; cout << "mumu Duplicate Filter == " << Nttmumu12[12] << endl; cout << "mumu Cosmic Cut == " << Nttmumu12[10] << endl; cout << "mumu Isolation == " << Nttmumu12[3] << endl; cout << "mumu Zmass<76 OR Zmass > 106 == " << Nttmumu12[4] << endl; cout << "Additional info, N 0jets="<25. == " << Nttmumu12[5] << endl; cout << "mumu delta-phi(Met-l,j) Met<50. == " << Nttmumu12[6] << endl; cout << "--------ttbar events:"<=2 == " << Nttmumu12[7] << endl; cout << "mumu Ht>200. == " << Nttmumu12[8] << endl; cout << "mumu Qe1*Qe2<0 == " << Nttmumu12[9] << endl; cout << "-------HT sweep ---------------------------------" << endl; cout << "mumu Ht>100. == " << Nttmumu12_ht_100 << endl; cout << "mumu Ht>100. Qe1*Qe2<0 == " << Nttmumu12_ht_100_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>150. == " << Nttmumu12_ht_150 << endl; cout << "mumu Ht>150. Qe1*Qe2<0 == " << Nttmumu12_ht_150_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>200. == " << Nttmumu12_ht_200 << endl; cout << "mumu Ht>200. Qe1*Qe2<0 == " << Nttmumu12_ht_200_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>250. == " << Nttmumu12_ht_250 << endl; cout << "mumu Ht>250. Qe1*Qe2<0 == " << Nttmumu12_ht_250_os << endl; cout << "-----------------------------------------------------" << endl; cout << "--------WW events:"< 13 [CMU-CMU]" << endl; cout << "mumu ID == " << Nttmumu13[2] << endl; cout << "mumu Duplicate Filter == " << Nttmumu13[12] << endl; cout << "mumu Cosmic Cut == " << Nttmumu13[10] << endl; cout << "mumu Isolation == " << Nttmumu13[3] << endl; cout << "mumu Zmass<76 OR Zmass > 106 == " << Nttmumu13[4] << endl; cout << "Additional info, N 0jets="<25. == " << Nttmumu13[5] << endl; cout << "mumu delta-phi(Met-l,j) Met<50. == " << Nttmumu13[6] << endl; cout << "--------ttbar events:"<=2 == " << Nttmumu13[7] << endl; cout << "mumu Ht>200. == " << Nttmumu13[8] << endl; cout << "mumu Qe1*Qe2<0 == " << Nttmumu13[9] << endl; cout << "--------WW events:"< 14 [CMU-CMP]" << endl; cout << "mumu ID == " << Nttmumu14[2] << endl; cout << "mumu Duplicate Filter == " << Nttmumu14[12] << endl; cout << "mumu Cosmic Cut == " << Nttmumu14[10] << endl; cout << "mumu Isolation == " << Nttmumu14[3] << endl; cout << "mumu Zmass<76 OR Zmass > 106 == " << Nttmumu14[4] << endl; cout << "Additional info, N 0jets="<25. == " << Nttmumu14[5] << endl; cout << "mumu delta-phi(Met-l,j) Met<50. == " << Nttmumu14[6] << endl; cout << "--------ttbar events:"<=2 == " << Nttmumu14[7] << endl; cout << "mumu Ht>200. == " << Nttmumu14[8] << endl; cout << "mumu Qe1*Qe2<0 == " << Nttmumu14[9] << endl; cout << "--------WW events:"< 15 [CMP-CMP]" << endl; cout << "mumu ID == " << Nttmumu15[2] << endl; cout << "mumu Duplicate Filter == " << Nttmumu15[12] << endl; cout << "mumu Cosmic Cut == " << Nttmumu15[10] << endl; cout << "mumu Isolation == " << Nttmumu15[3] << endl; cout << "mumu Zmass<76 OR Zmass > 106 == " << Nttmumu15[4] << endl; cout << "Additional info, N 0jets="<25. == " << Nttmumu15[5] << endl; cout << "mumu delta-phi(Met-l,j) Met<50. == " << Nttmumu15[6] << endl; cout << "--------ttbar events:"<=2 == " << Nttmumu15[7] << endl; cout << "mumu Ht>200. == " << Nttmumu15[8] << endl; cout << "mumu Qe1*Qe2<0 == " << Nttmumu15[9] << endl; cout << "--------WW events:"< 16 [CMUP-CMX]" << endl; cout << "mumu ID == " << Nttmumu16[2] << endl; cout << "mumu Duplicate Filter == " << Nttmumu16[12] << endl; cout << "mumu Cosmic Cut == " << Nttmumu16[10] << endl; cout << "mumu Isolation == " << Nttmumu16[3] << endl; cout << "mumu Zmass<76 OR Zmass > 106 == " << Nttmumu16[4] << endl; cout << "Additional info, N 0jets="<25. == " << Nttmumu16[5] << endl; cout << "mumu delta-phi(Met-l,j) Met<50. == " << Nttmumu16[6] << endl; cout << "--------ttbar events:"<=2 == " << Nttmumu16[7] << endl; cout << "mumu Ht>200. == " << Nttmumu16[8] << endl; cout << "mumu Qe1*Qe2<0 == " << Nttmumu16[9] << endl; cout << "-------HT sweep ---------------------------------" << endl; cout << "mumu Ht>100. == " << Nttmumu16_ht_100 << endl; cout << "mumu Ht>100. Qe1*Qe2<0 == " << Nttmumu16_ht_100_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>150. == " << Nttmumu16_ht_150 << endl; cout << "mumu Ht>150. Qe1*Qe2<0 == " << Nttmumu16_ht_150_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>200. == " << Nttmumu16_ht_200 << endl; cout << "mumu Ht>200. Qe1*Qe2<0 == " << Nttmumu16_ht_200_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>250. == " << Nttmumu16_ht_250 << endl; cout << "mumu Ht>250. Qe1*Qe2<0 == " << Nttmumu16_ht_250_os << endl; cout << "-----------------------------------------------------" << endl; cout << "--------WW events:"< 17 [CMU-CMX]" << endl; cout << "mumu ID == " << Nttmumu17[2] << endl; cout << "mumu Duplicate Filter == " << Nttmumu17[12] << endl; cout << "mumu Cosmic Cut == " << Nttmumu17[10] << endl; cout << "mumu Isolation == " << Nttmumu17[3] << endl; cout << "mumu Zmass<76 OR Zmass > 106 == " << Nttmumu17[4] << endl; cout << "Additional info, N 0jets="<25. == " << Nttmumu17[5] << endl; cout << "mumu delta-phi(Met-l,j) Met<50. == " << Nttmumu17[6] << endl; cout << "--------ttbar events:"<=2 == " << Nttmumu17[7] << endl; cout << "mumu Ht>200. == " << Nttmumu17[8] << endl; cout << "mumu Qe1*Qe2<0 == " << Nttmumu17[9] << endl; cout << "-------HT sweep ---------------------------------" << endl; cout << "mumu Ht>100. == " << Nttmumu17_ht_100 << endl; cout << "mumu Ht>100. Qe1*Qe2<0 == " << Nttmumu17_ht_100_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>150. == " << Nttmumu17_ht_150 << endl; cout << "mumu Ht>150. Qe1*Qe2<0 == " << Nttmumu17_ht_150_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>200. == " << Nttmumu17_ht_200 << endl; cout << "mumu Ht>200. Qe1*Qe2<0 == " << Nttmumu17_ht_200_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>250. == " << Nttmumu17_ht_250 << endl; cout << "mumu Ht>250. Qe1*Qe2<0 == " << Nttmumu17_ht_250_os << endl; cout << "-----------------------------------------------------" << endl; cout << "--------WW events:"< 18 [CMP-CMX]" << endl; cout << "mumu ID == " << Nttmumu18[2] << endl; cout << "mumu Duplicate Filter == " << Nttmumu18[12] << endl; cout << "mumu Cosmic Cut == " << Nttmumu18[10] << endl; cout << "mumu Isolation == " << Nttmumu18[3] << endl; cout << "mumu Zmass<76 OR Zmass > 106 == " << Nttmumu18[4] << endl; cout << "Additional info, N 0jets="<25. == " << Nttmumu18[5] << endl; cout << "mumu delta-phi(Met-l,j) Met<50. == " << Nttmumu18[6] << endl; cout << "--------ttbar events:"<=2 == " << Nttmumu18[7] << endl; cout << "mumu Ht>200. == " << Nttmumu18[8] << endl; cout << "mumu Qe1*Qe2<0 == " << Nttmumu18[9] << endl; cout << "-------HT sweep ---------------------------------" << endl; cout << "mumu Ht>100. == " << Nttmumu18_ht_100 << endl; cout << "mumu Ht>100. Qe1*Qe2<0 == " << Nttmumu18_ht_100_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>150. == " << Nttmumu18_ht_150 << endl; cout << "mumu Ht>150. Qe1*Qe2<0 == " << Nttmumu18_ht_150_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>200. == " << Nttmumu18_ht_200 << endl; cout << "mumu Ht>200. Qe1*Qe2<0 == " << Nttmumu18_ht_200_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>250. == " << Nttmumu18_ht_250 << endl; cout << "mumu Ht>250. Qe1*Qe2<0 == " << Nttmumu18_ht_250_os << endl; cout << "-----------------------------------------------------" << endl; cout << "--------WW events:"< 19 [CMX-CMX]" << endl; cout << "mumu ID == " << Nttmumu19[2] << endl; cout << "mumu Duplicate Filter == " << Nttmumu19[12] << endl; cout << "mumu Cosmic Cut == " << Nttmumu19[10] << endl; cout << "mumu Isolation == " << Nttmumu19[3] << endl; cout << "mumu Zmass<76 OR Zmass > 106 == " << Nttmumu19[4] << endl; cout << "Additional info, N 0jets="<25. == " << Nttmumu19[5] << endl; cout << "mumu delta-phi(Met-l,j) Met<50. == " << Nttmumu19[6] << endl; cout << "--------ttbar events:"<=2 == " << Nttmumu19[7] << endl; cout << "mumu Ht>200. == " << Nttmumu19[8] << endl; cout << "mumu Qe1*Qe2<0 == " << Nttmumu19[9] << endl; cout << "-------HT sweep ---------------------------------" << endl; cout << "mumu Ht>100. == " << Nttmumu19_ht_100 << endl; cout << "mumu Ht>100. Qe1*Qe2<0 == " << Nttmumu19_ht_100_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>150. == " << Nttmumu19_ht_150 << endl; cout << "mumu Ht>150. Qe1*Qe2<0 == " << Nttmumu19_ht_150_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>200. == " << Nttmumu19_ht_200 << endl; cout << "mumu Ht>200. Qe1*Qe2<0 == " << Nttmumu19_ht_200_os << endl; cout << "-----------------------------------------------------" << endl; cout << "mumu Ht>250. == " << Nttmumu19_ht_250 << endl; cout << "mumu Ht>250. Qe1*Qe2<0 == " << Nttmumu19_ht_250_os << endl; cout << "-----------------------------------------------------" << endl; cout << "--------WW events:"<20 == " << Nttemu[0] << " -> " << eff0*100. << " +- " << err0*100. << endl; cout << "emu Fiducial + Pt>20 (deltaR<0.04) == " << Nttemu[1] << " -> " << eff1*100. << " +- " << err1*100. << endl; cout << "emu ID == " << Nttemu[2] << " -> " << eff2*100. << " +- " << err2*100. << endl; cout << "emu Duplicate Filter == " << Nttemu[9] << " -> " << eff9*100. << " +- " << err9*100. << endl; cout << "emu Cosmic filter == " << Nttemu[10] << " -> " << eff10*100. << " +- " << err10*100. << endl; cout << "emu Conversion cut == " << Nttemu[11] << " -> " << eff11*100. << " +- " << err11*100. << endl; cout << "emu Isolation == " << Nttemu[3] << " -> " << eff3*100. << " +- " << err3*100. << endl; cout << "Additional info, N 0jets="<25. == " << Nttemu[4] << " -> " << eff4*100. << " +- " << err4*100. << endl; cout << "emu delta-phi(Met-l,j) Met<50. == " << Nttemu[5] << " -> " << eff5*100. << " +- " << err5*100. << endl; cout <<"-------ttbar Candidates:"<=2 == " << Nttemu[6] << " -> " << eff6*100. << " +- " << err6*100. << endl; cout << "emu Ht>200. == " << Nttemu[7] << " -> " << eff7*100. << " +- " << err7*100. << endl; cout << "emu Qe1*Qe2<0 == " << Nttemu[8] << " -> " << eff8*100. << " +- " << err8*100. << endl; cout << "-------HT sweep ---------------------------------" << endl; cout << "emu Ht>100. == " << Nttemu_ht_100 << " -> " << effht100*100. << " +- " << errht100*100. << endl; cout << "emu Ht>100. Qe1*Qe2<0 == " << Nttemu_ht_100_os << " -> " << effht100os*100. << " +- " << errht100os*100. << endl; cout << "-----------------------------------------------------" << endl; cout << "emu Ht>150. == " << Nttemu_ht_150 << " -> " << effht150*100. << " +- " << errht150*100. << endl; cout << "emu Ht>150. Qe1*Qe2<0 == " << Nttemu_ht_150_os << " -> " << effht150os*100. << " +- " << errht150os*100. << endl; cout << "-----------------------------------------------------" << endl; cout << "emu Ht>200. == " << Nttemu_ht_200 << " -> " << effht200*100. << " +- " << errht200*100. << endl; cout << "emu Ht>200. Qe1*Qe2<0 == " << Nttemu_ht_200_os << " -> " << effht200os*100. << " +- " << errht200os*100. << endl; cout << "-----------------------------------------------------" << endl; cout << "emu Ht>250. == " << Nttemu_ht_250 << " -> " << effht250*100. << " +- " << errht250*100. << endl; cout << "emu Ht>250. Qe1*Qe2<0 == " << Nttemu_ht_250_os << " -> " << effht250os*100. << " +- " << errht250os*100. << endl; cout << "-----------------------------------------------------" << endl; cout <<"-------WW Candidates:"< " << eff6ww*100. << " +- " << err6ww*100. << endl; cout << "emu Qe1*Qe2<0 == " << Nwwemu[8] << " -> " << eff8ww*100. << " +- " << err8ww*100. << endl; cout <<"--------WW events:"< " << eff61j*100. << " +- " << err61j*100. << endl; cout << "emu Qe1*Qe2<0 == " << N1jemu[8] << " -> " << eff81j*100. << " +- " << err81j*100. << endl; cout << "-----------------------------------------------------" << endl; cout << "emu Fiducial + Pt>20 == " << Nttemu[0] << endl; cout << "emu Fiducial + Pt>20 (deltaR<0.04) == " << Nttemu[1] << endl; cout << "emu ID == " << Nttemu[2] << endl; cout << "emu Duplicate Filter == " << Nttemu[9] << endl; cout << "emu Cosmic == " << Nttemu[10] << endl; cout << "emu Conversion cut == " << Nttemu[11] << endl; cout << "emu Isolation == " << Nttemu[3] << endl; cout << "Additional info, N 0jets="<25. == " << Nttemu[4] << endl; cout << "emu delta-phi(Met-l,j) Met<50. == " << Nttemu[5] << endl; cout <<"-------ttbar Candidates:"<=2 == " << Nttemu[6] << endl; cout << "emu Ht>200. == " << Nttemu[7] << endl; cout << "emu Qe1*Qe2<0 == " << Nttemu[8] << endl; cout <<"-------WW Candidates:"< 20 [TCE-CMUP]" << endl; cout << "emu ID == " << Nttemu20[2] << endl; cout << "emu Duplicate Filter == " << Nttemu20[9] << endl; cout << "emu Cosmic == " << Nttemu20[10] << endl; cout << "emu Conversion cut == " << Nttemu20[11] << endl; cout << "emu Isolation == " << Nttemu20[3] << endl; cout << "Additional info, N 0jets="<25. == " << Nttemu20[4] << endl; cout << "emu delta-phi(Met-l,j) Met<50. == " << Nttemu20[5] << endl; cout <<"-------ttbar Candidates:"<=2 == " << Nttemu20[6] << endl; cout << "emu Ht>200. == " << Nttemu20[7] << endl; cout << "emu Qe1*Qe2<0 == " << Nttemu20[8] << endl; cout << "-------HT sweep ---------------------------------" << endl; cout << "emu Ht>100. == " << Nttemu20_ht_100 << endl; cout << "emu Ht>100. Qe1*Qe2<0 == " << Nttemu20_ht_100_os << endl; cout << "-----------------------------------------------------" << endl; cout << "emu Ht>150. == " << Nttemu20_ht_150 << endl; cout << "emu Ht>150. Qe1*Qe2<0 == " << Nttemu20_ht_150_os << endl; cout << "-----------------------------------------------------" << endl; cout << "emu Ht>200. == " << Nttemu20_ht_200 << endl; cout << "emu Ht>200. Qe1*Qe2<0 == " << Nttemu20_ht_200_os << endl; cout << "-----------------------------------------------------" << endl; cout << "emu Ht>250. == " << Nttemu20_ht_250 << endl; cout << "emu Ht>250. Qe1*Qe2<0 == " << Nttemu20_ht_250_os << endl; cout << "-----------------------------------------------------" << endl; cout <<"-------WW Candidates:"< 21 [TCE-CMU]" << endl; cout << "emu ID == " << Nttemu21[2] << endl; cout << "emu Duplicate Filter == " << Nttemu21[9] << endl; cout << "emu Cosmic == " << Nttemu21[10] << endl; cout << "emu Conversion cut == " << Nttemu21[11] << endl; cout << "emu Isolation == " << Nttemu21[3] << endl; cout << "Additional info, N 0jets="<25. == " << Nttemu21[4] << endl; cout << "emu delta-phi(Met-l,j) Met<50. == " << Nttemu21[5] << endl; cout <<"-------ttbar Candidates:"<=2 == " << Nttemu21[6] << endl; cout << "emu Ht>200. == " << Nttemu21[7] << endl; cout << "emu Qe1*Qe2<0 == " << Nttemu21[8] << endl; cout << "-------HT sweep ---------------------------------" << endl; cout << "emu Ht>100. == " << Nttemu21_ht_100 << endl; cout << "emu Ht>100. Qe1*Qe2<0 == " << Nttemu21_ht_100_os << endl; cout << "-----------------------------------------------------" << endl; cout << "emu Ht>150. == " << Nttemu21_ht_150 << endl; cout << "emu Ht>150. Qe1*Qe2<0 == " << Nttemu21_ht_150_os << endl; cout << "-----------------------------------------------------" << endl; cout << "emu Ht>200. == " << Nttemu21_ht_200 << endl; cout << "emu Ht>200. Qe1*Qe2<0 == " << Nttemu21_ht_200_os << endl; cout << "-----------------------------------------------------" << endl; cout << "emu Ht>250. == " << Nttemu21_ht_250 << endl; cout << "emu Ht>250. Qe1*Qe2<0 == " << Nttemu21_ht_250_os << endl; cout << "-----------------------------------------------------" << endl; cout <<"-------WW Candidates:"< 22 [TCE-CMP]" << endl; cout << "emu ID == " << Nttemu22[2] << endl; cout << "emu Duplicate Filter == " << Nttemu22[9] << endl; cout << "emu Cosmic == " << Nttemu22[10] << endl; cout << "emu Conversion cut == " << Nttemu22[11] << endl; cout << "emu Isolation == " << Nttemu22[3] << endl; cout << "Additional info, N 0jets="<25. == " << Nttemu22[4] << endl; cout << "emu delta-phi(Met-l,j) Met<50. == " << Nttemu22[5] << endl; cout <<"-------ttbar Candidates:"<=2 == " << Nttemu22[6] << endl; cout << "emu Ht>200. == " << Nttemu22[7] << endl; cout << "emu Qe1*Qe2<0 == " << Nttemu22[8] << endl; cout << "-------HT sweep ---------------------------------" << endl; cout << "emu Ht>100. == " << Nttemu22_ht_100 << endl; cout << "emu Ht>100. Qe1*Qe2<0 == " << Nttemu22_ht_100_os << endl; cout << "-----------------------------------------------------" << endl; cout << "emu Ht>150. == " << Nttemu22_ht_150 << endl; cout << "emu Ht>150. Qe1*Qe2<0 == " << Nttemu22_ht_150_os << endl; cout << "-----------------------------------------------------" << endl; cout << "emu Ht>200. == " << Nttemu22_ht_200 << endl; cout << "emu Ht>200. Qe1*Qe2<0 == " << Nttemu22_ht_200_os << endl; cout << "-----------------------------------------------------" << endl; cout << "emu Ht>250. == " << Nttemu22_ht_250 << endl; cout << "emu Ht>250. Qe1*Qe2<0 == " << Nttemu22_ht_250_os << endl; cout << "-----------------------------------------------------" << endl; cout <<"-------WW Candidates:"< 23 [TCE-CMX]" << endl; cout << "emu ID == " << Nttemu23[2] << endl; cout << "emu Duplicate Filter == " << Nttemu23[9] << endl; cout << "emu Cosmic == " << Nttemu23[10] << endl; cout << "emu Conversion cut == " << Nttemu23[11] << endl; cout << "emu Isolation == " << Nttemu23[3] << endl; cout << "Additional info, N 0jets="<25. == " << Nttemu23[4] << endl; cout << "emu delta-phi(Met-l,j) Met<50. == " << Nttemu23[5] << endl; cout <<"-------ttbar Candidates:"<=2 == " << Nttemu23[6] << endl; cout << "emu Ht>200. == " << Nttemu23[7] << endl; cout << "emu Qe1*Qe2<0 == " << Nttemu23[8] << endl; cout << "-------HT sweep ---------------------------------" << endl; cout << "emu Ht>100. == " << Nttemu23_ht_100 << endl; cout << "emu Ht>100. Qe1*Qe2<0 == " << Nttemu23_ht_100_os << endl; cout << "-----------------------------------------------------" << endl; cout << "emu Ht>150. == " << Nttemu23_ht_150 << endl; cout << "emu Ht>150. Qe1*Qe2<0 == " << Nttemu23_ht_150_os << endl; cout << "-----------------------------------------------------" << endl; cout << "emu Ht>200. == " << Nttemu23_ht_200 << endl; cout << "emu Ht>200. Qe1*Qe2<0 == " << Nttemu23_ht_200_os << endl; cout << "-----------------------------------------------------" << endl; cout << "emu Ht>250. == " << Nttemu23_ht_250 << endl; cout << "emu Ht>250. Qe1*Qe2<0 == " << Nttemu23_ht_250_os << endl; cout << "-----------------------------------------------------" << endl; cout <<"-------WW Candidates:"<200dollar & SS zz"<100dollar & SS & dollarH_Tdollar dollar>150dollar & SS & dollarH_Tdollar dollar>200dollar & SS & dollarH_Tdollar dollar>250dollar zz"<hmee0->Fill(zmass); } if(iflag==1){ zmass = ZmumuMass(ilep1,ilep2); hww->hmmumu0->Fill(zmass); } } void ww_lepton_id::FillInvariantMassA(Int_t iflag, Int_t ilep1, Int_t ilep2){ Double_t zmass=0.; if(iflag==0){ zmass = ZeeMass(ilep1,ilep2); hww->hmee->Fill(zmass); } if(iflag==1){ zmass = ZmumuMass(ilep1,ilep2); hww->hmmumu->Fill(zmass); } } void ww_lepton_id::FillHt(Int_t iflag, Int_t ilep1, Int_t ilep2){ // Double_t ht=0.; Double_t htow=0.; // Int_t ntightjet=0; // // for(int jetIndex = 0; jetIndex=0)){ if((TOPJET_topjet_et[jetIndex]>10.)&&(TMath::Abs(TOPJET_topjet_deteta[jetIndex])<2.)){ ntightjet++; } } } // if(iflag==0){ ht=Htee(ilep1,ilep2); htow=HteeTow(ilep1,ilep2); hww->hallHtj->Fill(ht); hww->heeHt->Fill(ht); hww->heeHtTow->Fill(htow); if(NTightJet()==0) {hww->heeHtj0->Fill(ht); hww->hallHtj0->Fill(ht); } if(NTightJet()==1){hww->heeHtj1->Fill(ht);} if(NTightJet()>=2) {hww->heeHtj2->Fill(ht); hww->hallHtj2->Fill(ht); } if(NTightJet()<=1) { hww->heeHtj1inc->Fill(ht); hww->hallHtj1inc->Fill(ht); } } if(iflag==1){ ht=Htmumu(ilep1,ilep2); htow=HtmumuTow(ilep1,ilep2); hww->hallHtj->Fill(ht); hww->hmumuHt->Fill(ht); hww->hmumuHtTow->Fill(htow); if(NTightJet()==0) {hww->hmumuHtj0->Fill(ht); hww->hallHtj0->Fill(ht); } if(NTightJet()==1){hww->hmumuHtj1->Fill(ht);} if(NTightJet()>=2) {hww->hmumuHtj2->Fill(ht); hww->hallHtj2->Fill(ht); } if(NTightJet()<=1) { hww->hmumuHtj1inc->Fill(ht); hww->hallHtj1inc->Fill(ht); } } if(iflag==2){ ht=Htemu(ilep1,ilep2); htow=HtemuTow(ilep1,ilep2); hww->hallHtj->Fill(ht); hww->hemuHt->Fill(ht); hww->hemuHtTow->Fill(htow); if(NTightJet()==0) {hww->hemuHtj0->Fill(ht); hww->hallHtj0->Fill(ht); } if(NTightJet()==1){hww->hemuHtj1->Fill(ht);} if(NTightJet()>=2) {hww->hemuHtj2->Fill(ht); hww->hallHtj2->Fill(ht); } if(NTightJet()<=1) { hww->hemuHtj1inc->Fill(ht); hww->hallHtj1inc->Fill(ht); } } // // } void ww_lepton_id::FillDPhiMet(Int_t iflag, Int_t ilep1, Int_t ilep2){ // Double_t met,dphi,ht,dphi2; // Int_t ntightjet=0; met=MetCorrMuon(); // for(int jetIndex = 0; jetIndex=0)){ if((TOPJET_topjet_et[jetIndex]>10.)&&(TMath::Abs(TOPJET_topjet_deteta[jetIndex])<2.)){ ntightjet++; } } } // if(iflag==0){ dphi=DPhiMetDee(ilep1,ilep2); dphi2=DPhiee(ilep1,ilep2); ht=Htee(ilep1,ilep2); hww->heeDphimljMetj->Fill(met,dphi); if(ntightjet==0){hww->heeDphimljMetj0->Fill(met,dphi);} if(ntightjet==1){hww->heeDphimljMetj1->Fill(met,dphi);} if(ntightjet>=2){hww->heeDphimljMetj2->Fill(met,dphi);} if(ntightjet==0){ Float_t htele=EMCLST_ele_std_Et[ilep1]+EMCLST_ele_std_Et[ilep2]+met; hww->h_Ht_Met_j0->Fill(met,ht); hww->h_Etee_Met_j0->Fill(met,EMCLST_ele_std_Et[ilep1]+EMCLST_ele_std_Et[ilep2]); hww->h_Ht_EteeMet_j0->Fill(htele,ht); // if(EMCLST_ele_std_Et[ilep1]+EMCLST_ele_std_Et[ilep2]>100){ hww->h1_Etee_PhiMet_j0->Fill(MetCorrMuonPhi(),EMCLST_ele_std_Et[ilep1]+EMCLST_ele_std_Et[ilep2]); } if(EMCLST_ele_std_Et[ilep1]+EMCLST_ele_std_Et[ilep2]<100){ hww->h2_Etee_PhiMet_j0->Fill(MetCorrMuonPhi(),EMCLST_ele_std_Et[ilep1]+EMCLST_ele_std_Et[ilep2]); } // Float_t Etemax; Float_t Etemin; if(EMCLST_ele_std_Et[ilep1]>EMCLST_ele_std_Et[ilep2]){ Etemax=EMCLST_ele_std_Et[ilep1]; Etemin=EMCLST_ele_std_Et[ilep2]; } else{ Etemin=EMCLST_ele_std_Et[ilep1]; Etemax=EMCLST_ele_std_Et[ilep2]; } hww->h_Ete1_Ete2->Fill(Etemin,Etemax); } if(ht>200){ hww->hhteeDphimljMetj->Fill(met,dphi); if(ntightjet==0){ hww->hhteeDphimljMetj0->Fill(met,dphi); if(met<20){ Float_t htbis=EMCLST_ele_std_Et[ilep1]+EMCLST_ele_std_Et[ilep2]+met; hww->h_Ete_j0met20->Fill(EMCLST_ele_std_Et[ilep1]); hww->h_Ete_j0met20->Fill(EMCLST_ele_std_Et[ilep2]); hww->h_Ht_j0met20->Fill(ht); hww->h_Htbis_j0met20->Fill(htbis); } } if(ntightjet==1){hww->hhteeDphimljMetj1->Fill(met,dphi);} if(ntightjet>=2){hww->hhteeDphimljMetj2->Fill(met,dphi);} } if(ht<=200){ hww->nothhteeDphimljMetj->Fill(met,dphi); if(ntightjet==0){hww->nothhteeDphimljMetj0->Fill(met,dphi);} if(ntightjet==1){hww->nothhteeDphimljMetj1->Fill(met,dphi);} if(ntightjet>=2){hww->nothhteeDphimljMetj2->Fill(met,dphi);} } if((EMCLST_ele_std_charge[ilep1]*EMCLST_ele_std_charge[ilep2]<0)&&ht>200){ // Oposite sign events hww->hqeeDphimljMetj->Fill(met,dphi); if(ntightjet==0) {hww->hqeeDphimljMetj0->Fill(met,dphi); hww->hqeeDphillj0->Fill(met,dphi2); } if(ntightjet==1){hww->hqeeDphimljMetj1->Fill(met,dphi);} if(ntightjet>=2) {hww->hqeeDphimljMetj2->Fill(met,dphi); hww->hqeeDphillj2->Fill(met,dphi2); } } else{ hww->hqeeDphimljMetj->Fill(met,dphi); if(ntightjet==0) {hww->nothqeeDphimljMetj0->Fill(met,dphi); hww->nothqeeDphillj0->Fill(met,dphi2); } if(ntightjet==1){hww->nothqeeDphimljMetj1->Fill(met,dphi);} if(ntightjet>=2) {hww->nothqeeDphimljMetj2->Fill(met,dphi); hww->nothqeeDphillj2->Fill(met,dphi2); } } } if(iflag==1){ dphi=DPhiMetDmumu(ilep1,ilep2); dphi2=DPhimumu(ilep1,ilep2); ht=Htmumu(ilep1,ilep2); hww->hmumuDphimljMetj->Fill(met,dphi); if(ntightjet==0){hww->hmumuDphimljMetj0->Fill(met,dphi);} if(ntightjet==1){hww->hmumuDphimljMetj1->Fill(met,dphi);} if(ntightjet>=2){hww->hmumuDphimljMetj2->Fill(met,dphi);} if(ht>200){ hww->hhtmumuDphimljMetj->Fill(met,dphi); if(ntightjet==0){hww->hhtmumuDphimljMetj0->Fill(met,dphi);} if(ntightjet==1){hww->hhtmumuDphimljMetj1->Fill(met,dphi);} if(ntightjet>=2){hww->hhtmumuDphimljMetj2->Fill(met,dphi);} } if(ht<=200){ hww->nothhtmumuDphimljMetj->Fill(met,dphi); if(ntightjet==0){hww->nothhtmumuDphimljMetj0->Fill(met,dphi);} if(ntightjet==1){hww->nothhtmumuDphimljMetj1->Fill(met,dphi);} if(ntightjet>=2){hww->nothhtmumuDphimljMetj2->Fill(met,dphi);} } if ((MuonCharge(ilep1)*MuonCharge(ilep2)<0)&&ht>200) { // Same sign events hww->hqmumuDphimljMetj->Fill(met,dphi); if(ntightjet==0) {hww->hqmumuDphimljMetj0->Fill(met,dphi); hww->hqmumuDphillj0->Fill(met,dphi2); } if(ntightjet==1){hww->hqmumuDphimljMetj1->Fill(met,dphi);} if(ntightjet>=2) {hww->hqmumuDphimljMetj2->Fill(met,dphi); hww->hqmumuDphillj2->Fill(met,dphi2); } } else{ hww->nothqmumuDphimljMetj->Fill(met,dphi); if(ntightjet==0) {hww->nothqmumuDphimljMetj0->Fill(met,dphi); hww->nothqmumuDphillj0->Fill(met,dphi2); } if(ntightjet==1){hww->nothqmumuDphimljMetj1->Fill(met,dphi);} if(ntightjet>=2) {hww->nothqmumuDphimljMetj2->Fill(met,dphi); hww->nothqmumuDphillj2->Fill(met,dphi2); } } } if(iflag==2){ dphi=DPhiMetDemu(ilep1,ilep2); dphi2=DPhiemu(ilep1,ilep2); ht=Htemu(ilep1,ilep2); hww->hemuDphimljMetj->Fill(met,dphi); if(ntightjet==0){hww->hemuDphimljMetj0->Fill(met,dphi);} if(ntightjet==1){hww->hemuDphimljMetj1->Fill(met,dphi);} if(ntightjet>=2){hww->hemuDphimljMetj2->Fill(met,dphi);} if(ht>200){ hww->hhtemuDphimljMetj->Fill(met,dphi); if(ntightjet==0){hww->hhtemuDphimljMetj0->Fill(met,dphi);} if(ntightjet==1){hww->hhtemuDphimljMetj1->Fill(met,dphi);} if(ntightjet>=2){hww->hhtemuDphimljMetj2->Fill(met,dphi);} } if(ht<200){ hww->nothhtemuDphimljMetj->Fill(met,dphi); if(ntightjet==0){hww->nothhtemuDphimljMetj0->Fill(met,dphi);} if(ntightjet==1){hww->nothhtemuDphimljMetj1->Fill(met,dphi);} if(ntightjet>=2){hww->nothhtemuDphimljMetj2->Fill(met,dphi);} } if ((EMCLST_ele_std_charge[ilep1]*MuonCharge(ilep2)<0)&&ht>200){ // Same sign events hww->hqemuDphimljMetj->Fill(met,dphi); if(ntightjet==0) {hww->hqemuDphimljMetj0->Fill(met,dphi); hww->hqemuDphillj0->Fill(met,dphi2); } if(ntightjet==1){hww->hqemuDphimljMetj1->Fill(met,dphi);} if(ntightjet>=2) {hww->hqemuDphimljMetj2->Fill(met,dphi); hww->hqemuDphillj2->Fill(met,dphi2); } } else{ hww->hqemuDphimljMetj->Fill(met,dphi); if(ntightjet==0) {hww->nothqemuDphimljMetj0->Fill(met,dphi); hww->nothqemuDphillj0->Fill(met,dphi2); } if(ntightjet==1){hww->nothqemuDphimljMetj1->Fill(met,dphi);} if(ntightjet>=2) {hww->nothqemuDphimljMetj2->Fill(met,dphi); hww->nothqemuDphillj2->Fill(met,dphi2); } } } // // } void ww_lepton_id::FillDPhiEleJetEE(Int_t ilep1, Int_t ilep2){ // Double_t dphi; Bool_t debug=false; // Int_t IdJet[2]={0,0}; Int_t ntightjet=0; // // for(int jetIndex = 0; jetIndex=0)){ if((TOPJET_topjet_et[jetIndex]>10.)&&(TMath::Abs(TOPJET_topjet_deteta[jetIndex])<2.)){ IdJet[ntightjet]=jetIndex; ntightjet++; if(debug){ cout << "-------------------------------------------------------------------------------------------------------------" << endl; cout << jetIndex << " Px-j[" << jetIndex << "]=" << TOPJET_topjet_px[jetIndex] << " Py-j[" << jetIndex << "]=" << TOPJET_topjet_py[jetIndex] << endl; } } } } // Int_t Ij1=IdJet[0]; Int_t Ij2=IdJet[1]; // TVector2 Ve1(ElectronPx(ilep1),ElectronPy(ilep1)); TVector2 Ve2(ElectronPx(ilep2),ElectronPy(ilep2)); // Double_t Phi_Ele1 = Ve1.Phi(); Double_t Phi_Ele2 = Ve2.Phi(); // Phi_Ele1 = Ve1.Phi_0_2pi(Phi_Ele1); Phi_Ele2 = Ve2.Phi_0_2pi(Phi_Ele2); // // TVector2 Vj1(TOPJET_topjet_px[Ij1],TOPJET_topjet_py[Ij1]); TVector2 Vj2(TOPJET_topjet_px[Ij2],TOPJET_topjet_py[Ij2]); // Double_t Phi_Jet1 = Vj1.Phi(); Double_t Phi_Jet2 = Vj2.Phi(); // Phi_Jet1 = Vj1.Phi_0_2pi(Phi_Jet1); Phi_Jet2 = Vj2.Phi_0_2pi(Phi_Jet2); // // Double_t Dphi1=TMath::Abs(Phi_Ele1-Phi_Jet1); Double_t Dphi2=TMath::Abs(Phi_Ele2-Phi_Jet2); Double_t Dphi3=TMath::Abs(Phi_Ele1-Phi_Jet2); Double_t Dphi4=TMath::Abs(Phi_Ele2-Phi_Jet1); // Double_t Dphi1b=Ve1.DeltaPhi(Vj1); Double_t Dphi2b=Ve2.DeltaPhi(Vj2); Double_t Dphi3b=Ve1.DeltaPhi(Vj2); Double_t Dphi4b=Ve2.DeltaPhi(Vj1); // if(Dphi1b<0) {Dphi1b=Dphi1b+2*Pi;} if(Dphi2b<0) {Dphi2b=Dphi2b+2*Pi;} if(Dphi3b<0) {Dphi3b=Dphi3b+2*Pi;} if(Dphi4b<0) {Dphi4b=Dphi4b+2*Pi;} // // if(debug){ cout << "-------------------------------------------------------------------------------------------------------------" << endl; cout << "Ij1= " << Ij1 << " Px-j[" << Ij1 << "]=" << TOPJET_topjet_px[Ij1] << "; Py-j[" << Ij1 << "]=" << TOPJET_topjet_py[Ij1] << endl; cout << "Ij2= " << Ij2 << " Px-j[" << Ij2 << "]=" << TOPJET_topjet_px[Ij2] << "; Py-j[" << Ij2 << "]=" << TOPJET_topjet_py[Ij2] << endl; cout << "-------------------------------------------------------------------------------------------------------------------" << endl; cout << "lep1= " << ilep1 << " ElectronPx(" << ilep1 << ")=" << ElectronPx(ilep1) << " ElectronPy(" << ilep1 << ")=" << ElectronPy(ilep1) << endl; cout << "lep2= " << ilep2 << " ElectronPx(" << ilep2 << ")=" << ElectronPx(ilep2) << " ElectronPy(" << ilep2 << ")=" << ElectronPy(ilep2) << endl; cout << "-------------------------------------------------------------------------------------------------------------------" << endl; cout << "Phi_Jet1= " << Phi_Jet1 << endl; cout << "Phi_Jet2= " << Phi_Jet2 << endl; cout << "Phi_Ele1= " << Phi_Ele1 << endl; cout << "Phi_Ele2= " << Phi_Ele2 << endl; cout << "-------------------------------------------------------------------------------------------------------------------" << endl; cout << "Dphi(e1,j1)= " << Dphi1b << " " << Dphi1b*RADTODEG << endl; cout << "Dphi(e2,j2)= " << Dphi2b << " " << Dphi2b*RADTODEG << endl; cout << "Dphi(e1,j2)= " << Dphi3b << " " << Dphi3b*RADTODEG << endl; cout << "Dphi(e2,j1)= " << Dphi4b << " " << Dphi4b*RADTODEG << endl; } // hww->hdphijele->Fill(Dphi1b); // // } void ww_lepton_id::FillMet(Int_t iflag){ // Double_t met; // Int_t ntightjet=0; met=MetCorrMuon(); // for(int jetIndex = 0; jetIndex=0)){ if((TOPJET_topjet_et[jetIndex]>10.)&&(TMath::Abs(TOPJET_topjet_deteta[jetIndex])<2.)){ ntightjet++; } } } // if(ntightjet==0){ if(iflag==0){hww->hmet_j0_ee->Fill(met);} if(iflag==1){hww->hmet_j0_mumu->Fill(met);} if(iflag==2){hww->hmet_j0_emu->Fill(met);} } if(ntightjet==1){ if(iflag==0){hww->hmet_j1_ee->Fill(met);} if(iflag==1){hww->hmet_j1_mumu->Fill(met);} if(iflag==2){hww->hmet_j1_emu->Fill(met);} } if(ntightjet>=2){ if(iflag==0){hww->hmet_j2_ee->Fill(met);} if(iflag==1){hww->hmet_j2_mumu->Fill(met);} if(iflag==2){hww->hmet_j2_emu->Fill(met);} } // // } void ww_lepton_id::FillJets(){ // Int_t ntightjet=0; // for(int jetIndex = 0; jetIndex=0)){ if((TOPJET_topjet_et[jetIndex]>10.)&&(TMath::Abs(TOPJET_topjet_deteta[jetIndex])<2.)){ ntightjet++; if(jetIndex==0){ hww->hjets_et1->Fill(TOPJET_topjet_et[jetIndex]); hww->hjets_eta1->Fill(TOPJET_topjet_deteta[jetIndex]); hww->hjets_phi1->Fill(TOPJET_topjet_phi[jetIndex]); } if(jetIndex==1){ hww->hjets_et2->Fill(TOPJET_topjet_et[jetIndex]); hww->hjets_eta2->Fill(TOPJET_topjet_deteta[jetIndex]); hww->hjets_phi2->Fill(TOPJET_topjet_phi[jetIndex]); } if(jetIndex==2){ hww->hjets_et3->Fill(TOPJET_topjet_et[jetIndex]); hww->hjets_eta3->Fill(TOPJET_topjet_deteta[jetIndex]); hww->hjets_phi3->Fill(TOPJET_topjet_phi[jetIndex]); } } } } // hww->hjets_njets->Fill(ntightjet); // // } Bool_t ww_lepton_id::CorDREleJetEE(Int_t ilep1, Int_t ilep2){ // Double_t dphi; Bool_t debug=false; // Int_t IdJet[2]={0,0}; Int_t ntightjet=0; // // for(int jetIndex = 0; jetIndex=0)){ if((TOPJET_topjet_et[jetIndex]>10.)&&(TMath::Abs(TOPJET_topjet_deteta[jetIndex])<2.)){ IdJet[ntightjet]=jetIndex; ntightjet++; if(debug){ cout << "-------------------------------------------------------------------------------------------------------------" << endl; cout << jetIndex << " Px-j[" << jetIndex << "]=" << TOPJET_topjet_px[jetIndex] << " Py-j[" << jetIndex << "]=" << TOPJET_topjet_py[jetIndex] << endl; } } } } // Int_t Ij1=IdJet[0]; Int_t Ij2=IdJet[1]; // TVector3 Ve1(ElectronPx(ilep1),ElectronPy(ilep1),ElectronPx(ilep1)); TVector3 Ve2(ElectronPx(ilep2),ElectronPy(ilep2),ElectronPz(ilep2)); // // TVector3 Vj1(TOPJET_topjet_px[Ij1],TOPJET_topjet_py[Ij1],TOPJET_topjet_pz[Ij1]); TVector3 Vj2(TOPJET_topjet_px[Ij2],TOPJET_topjet_py[Ij2],TOPJET_topjet_pz[Ij2]); // Double_t e1j1dr = Ve1.DeltaR(Vj1); Double_t e1j2dr = Ve1.DeltaR(Vj2); Double_t e2j1dr = Ve2.DeltaR(Vj1); Double_t e2j2dr = Ve2.DeltaR(Vj2); // hww->hRjele->Fill(e1j1dr); hww->hRjele->Fill(e1j2dr); hww->hRjele->Fill(e2j1dr); hww->hRjele->Fill(e2j2dr); // if((e1j1dr>0.4)&&(e1j2dr>0.4)&&(e2j1dr>0.4)&&(e2j2dr>0.4)) return true; else return false; // } Bool_t ww_lepton_id::CorDRLeptonJet(Int_t IFlag,Int_t ilep1, Int_t ilep2){ Bool_t CorFlag=true; Int_t IdJet[2]={-1,-1}; Int_t ntightjet=0; TVector3 Vl1; TVector3 Vl2; if(IFlag==0){ Vl1.SetX(ElectronPx(ilep1)); Vl1.SetY(ElectronPy(ilep1)); Vl1.SetZ(ElectronPx(ilep1)); Vl2.SetX(ElectronPx(ilep2)); Vl2.SetY(ElectronPy(ilep2)); Vl2.SetZ(ElectronPz(ilep2)); } if(IFlag==1){ Vl1.SetX(MuonPx(ilep1)); Vl1.SetY(MuonPy(ilep1)); Vl1.SetZ(MuonPx(ilep1)); Vl2.SetX(MuonPx(ilep2)); Vl2.SetY(MuonPy(ilep2)); Vl2.SetZ(MuonPz(ilep2)); } if(IFlag==2){ Vl1.SetX(ElectronPx(ilep1)); Vl1.SetY(ElectronPy(ilep1)); Vl1.SetZ(ElectronPx(ilep1)); Vl2.SetX(MuonPx(ilep2)); Vl2.SetY(MuonPy(ilep2)); Vl2.SetZ(MuonPz(ilep2)); } for(int jetIndex = 0; jetIndex=0)){ if((TOPJET_topjet_et[jetIndex]>10.)&&(TMath::Abs(TOPJET_topjet_deteta[jetIndex])<2.)){ IdJet[ntightjet]=jetIndex; ntightjet++; } } } if(ntightjet==0) return true; if(ntightjet==1){ Int_t Ij=IdJet[0]; TVector3 Vj(TOPJET_topjet_px[Ij],TOPJET_topjet_py[Ij],TOPJET_topjet_pz[Ij]); Double_t l1jdr = Vl1.DeltaR(Vj); Double_t l2jdr = Vl2.DeltaR(Vj); hww->h_dRlj->Fill(l1jdr); hww->h_dRlj->Fill(l1jdr); if((l1jdr>0.4)&&(l2jdr>0.4)){ { CorFlag=true; } } else { CorFlag=false; } } if(ntightjet==2){ // Int_t Ij1=IdJet[0]; Int_t Ij2=IdJet[1]; // TVector3 Vj1(TOPJET_topjet_px[Ij1],TOPJET_topjet_py[Ij1],TOPJET_topjet_pz[Ij1]); TVector3 Vj2(TOPJET_topjet_px[Ij2],TOPJET_topjet_py[Ij2],TOPJET_topjet_pz[Ij2]); // Double_t l1j1dr = Vl1.DeltaR(Vj1); Double_t l1j2dr = Vl1.DeltaR(Vj2); Double_t l2j1dr = Vl2.DeltaR(Vj1); Double_t l2j2dr = Vl2.DeltaR(Vj2); // hww->h_dRlj->Fill(l1j1dr); hww->h_dRlj->Fill(l1j2dr); hww->h_dRlj->Fill(l2j1dr); hww->h_dRlj->Fill(l2j2dr); // if((l1j1dr>0.4)&&(l1j2dr>0.4)&&(l2j1dr>0.4)&&(l2j2dr>0.4)) { CorFlag=true; } else { CorFlag=false; } } return CorFlag; } Double_t ww_lepton_id::ElePt(Int_t ie) { // Curvature Corrected Electron PT for Int_t q=EMCLST_ele_std_charge[ie], itrk=EMCLST_ele_maxPtTrackIndex[ie]; Double_t pt=EMCLST_ele_std_trkPt[ie]; if (TRACK_trk_nonbc_nsvxHits[itrk]==0&&isData) { Double_t x = q/pt - 0.00042 - 0.00116*TMath::Sin(0.3+TRACK_trk_cotbc_phi[EMCLST_ele_maxPtTrackIndex[ie]]); return q/x; } else return pt; } Bool_t ww_lepton_id::GoodRun(Int_t RunNum){ if(RunNum== 141544 || RunNum== 141572|| RunNum== 141576|| RunNum== 141577|| RunNum== 141597|| RunNum== 141598|| RunNum== 141618|| RunNum== 141619|| RunNum== 141621|| RunNum== 141660|| RunNum== 141928|| RunNum== 141931|| RunNum== 141948|| RunNum== 141950|| RunNum== 141984|| RunNum== 142106|| RunNum== 142107|| RunNum== 142108|| RunNum== 142109|| RunNum== 142110|| RunNum== 142111|| RunNum== 142130|| RunNum== 142131|| RunNum== 142168|| RunNum== 142170|| RunNum== 142177|| RunNum== 142202|| RunNum== 142227|| RunNum== 142243|| RunNum== 143254|| RunNum== 143257|| RunNum== 143281|| RunNum== 143284|| RunNum== 143814|| RunNum== 143815|| RunNum== 143821|| RunNum== 143829|| RunNum== 143847|| RunNum== 143857|| RunNum== 143862|| RunNum== 143863|| RunNum== 143890|| RunNum== 143934|| RunNum== 143935|| RunNum== 143936|| RunNum== 143937|| RunNum== 143938|| RunNum== 143939|| RunNum== 143980|| RunNum== 143981|| RunNum== 144226|| RunNum== 144295|| RunNum== 144296|| RunNum== 144302|| RunNum== 144305|| RunNum== 144327|| RunNum== 144329|| RunNum== 144330|| RunNum== 144419|| RunNum== 144420|| RunNum== 144422|| RunNum== 144423|| RunNum== 144424|| RunNum== 144428|| RunNum== 144453|| RunNum== 144455|| RunNum== 144456|| RunNum== 144457|| RunNum== 144573|| RunNum== 144574|| RunNum== 144575|| RunNum== 144576|| RunNum== 144578|| RunNum== 144671|| RunNum== 144673|| RunNum== 144674|| RunNum== 144680|| RunNum== 144691|| RunNum== 144694|| RunNum== 144696|| RunNum== 144883|| RunNum== 144884|| RunNum== 144933|| RunNum== 144935|| RunNum== 144941|| RunNum== 144942|| RunNum== 145004|| RunNum== 145005|| RunNum== 145006|| RunNum== 145029|| RunNum== 145032|| RunNum== 145033|| RunNum== 145034|| RunNum== 145035|| RunNum== 145036|| RunNum== 145043|| RunNum== 145044|| RunNum== 145045|| RunNum== 145046|| RunNum== 145047|| RunNum== 145052|| RunNum== 145071|| RunNum== 145094|| RunNum== 145096|| RunNum== 145192|| RunNum== 145411|| RunNum== 145414|| RunNum== 145415|| RunNum== 145420|| RunNum== 145450|| RunNum== 145532|| RunNum== 145608|| RunNum== 145613|| RunNum== 145650|| RunNum== 145651|| RunNum== 145654|| RunNum== 145669|| RunNum== 148288|| RunNum== 148291|| RunNum== 148293|| RunNum== 148373|| RunNum== 148375|| RunNum== 148376|| RunNum== 148377|| RunNum== 148648|| RunNum== 148649|| RunNum== 148674|| RunNum== 148774|| RunNum== 148775|| RunNum== 148824|| RunNum== 148825|| RunNum== 148846|| RunNum== 148852|| RunNum== 148856|| RunNum== 148857|| RunNum== 148858|| RunNum== 148908|| RunNum== 148916|| RunNum== 148950|| RunNum== 148951|| RunNum== 148953|| RunNum== 149052|| RunNum== 149053|| RunNum== 149055|| RunNum== 149056|| RunNum== 149058|| RunNum== 149059|| RunNum== 149259|| RunNum== 149264|| RunNum== 149292|| RunNum== 149299|| RunNum== 149344|| RunNum== 149354|| RunNum== 149355|| RunNum== 149385|| RunNum== 149386|| RunNum== 149387|| RunNum== 149481|| RunNum== 149492|| RunNum== 149493|| RunNum== 149663|| RunNum== 149676|| RunNum== 149677|| RunNum== 149678|| RunNum== 149680|| RunNum== 149681|| RunNum== 149682|| RunNum== 149685|| RunNum== 150799|| RunNum== 150801|| RunNum== 150802|| RunNum== 150803|| RunNum== 150805|| RunNum== 150819|| RunNum== 150820|| RunNum== 150821|| RunNum== 150823|| RunNum== 150853|| RunNum== 151040|| RunNum== 151087|| RunNum== 151088|| RunNum== 151092|| RunNum== 151111|| RunNum== 151115|| RunNum== 151116|| RunNum== 151118|| RunNum== 151120|| RunNum== 151121|| RunNum== 151128|| RunNum== 151134|| RunNum== 151135|| RunNum== 151138|| RunNum== 151139|| RunNum== 151140|| RunNum== 151141|| RunNum== 151142|| RunNum== 151143|| RunNum== 151144|| RunNum== 151228|| RunNum== 151229|| RunNum== 151231|| RunNum== 151235|| RunNum== 151236|| RunNum== 151237|| RunNum== 151238|| RunNum== 151239|| RunNum== 151240|| RunNum== 151434|| RunNum== 151435|| RunNum== 151436|| RunNum== 151449|| RunNum== 151476|| RunNum== 151477|| RunNum== 151509|| RunNum== 151513|| RunNum== 151514|| RunNum== 151555|| RunNum== 151556|| RunNum== 151557|| RunNum== 151628|| RunNum== 151641|| RunNum== 151683|| RunNum== 151688|| RunNum== 151808|| RunNum== 151810|| RunNum== 151811|| RunNum== 151841|| RunNum== 151842|| RunNum== 151843|| RunNum== 151844|| RunNum== 151845|| RunNum== 151868|| RunNum== 151869|| RunNum== 151870|| RunNum== 151871|| RunNum== 151872|| RunNum== 151873|| RunNum== 151900|| RunNum== 151901|| RunNum== 151902|| RunNum== 151903|| RunNum== 151906|| RunNum== 151907|| RunNum== 151911|| RunNum== 151914|| RunNum== 151917|| RunNum== 151918|| RunNum== 151919|| RunNum== 151920|| RunNum== 151922|| RunNum== 151968|| RunNum== 151969|| RunNum== 151971|| RunNum== 151974|| RunNum== 151976|| RunNum== 151978|| RunNum== 151980|| RunNum== 152170|| RunNum== 152171|| RunNum== 152266|| RunNum== 152267|| RunNum== 152270|| RunNum== 152271|| RunNum== 152273|| RunNum== 152274|| RunNum== 152455|| RunNum== 152459|| RunNum== 152464|| RunNum== 152504|| RunNum== 152507|| RunNum== 152510|| RunNum== 152514|| RunNum== 152515|| RunNum== 152516|| RunNum== 152517|| RunNum== 152518|| RunNum== 152519|| RunNum== 152520|| RunNum== 152554|| RunNum== 152555|| RunNum== 152556|| RunNum== 152559|| RunNum== 152562|| RunNum== 152579|| RunNum== 152598|| RunNum== 152599|| RunNum== 152600|| RunNum== 152601|| RunNum== 152602|| RunNum== 152615|| RunNum== 152616|| RunNum== 152669|| RunNum== 152674|| RunNum== 152675|| RunNum== 152742|| RunNum== 152743|| RunNum== 152745|| RunNum== 152746|| RunNum== 152747|| RunNum== 152752|| RunNum== 152771|| RunNum== 152772|| RunNum== 152773|| RunNum== 152810|| RunNum== 152811|| RunNum== 152942|| RunNum== 152945|| RunNum== 152949|| RunNum== 152953|| RunNum== 152954|| RunNum== 152970|| RunNum== 152971|| RunNum== 153061|| RunNum== 153068|| RunNum== 153070|| RunNum== 153074|| RunNum== 153075|| RunNum== 153076|| RunNum== 153087|| RunNum== 153091|| RunNum== 153266|| RunNum== 153268|| RunNum== 153271|| RunNum== 153325|| RunNum== 153326|| RunNum== 153327|| RunNum== 153343|| RunNum== 153345|| RunNum== 153372|| RunNum== 153373|| RunNum== 153374|| RunNum== 153389|| RunNum== 153411|| RunNum== 153412|| RunNum== 153416|| RunNum== 153447|| RunNum== 153460|| RunNum== 153557|| RunNum== 153618|| RunNum== 153620|| RunNum== 153660|| RunNum== 153661|| RunNum== 153662|| RunNum== 153663|| RunNum== 153667|| RunNum== 153693|| RunNum== 153694|| RunNum== 153697|| RunNum== 153718|| RunNum== 153738|| RunNum== 153739|| RunNum== 154021|| RunNum== 154028|| RunNum== 154029|| RunNum== 154030|| RunNum== 154050|| RunNum== 154054|| RunNum== 154069|| RunNum== 154070|| RunNum== 154111|| RunNum== 154112|| RunNum== 154116|| RunNum== 154118|| RunNum== 154122|| RunNum== 154126|| RunNum== 154175|| RunNum== 154176|| RunNum== 154180|| RunNum== 154207|| RunNum== 154208|| RunNum== 154209|| RunNum== 154449|| RunNum== 154451|| RunNum== 154452|| RunNum== 154453|| RunNum== 154518|| RunNum== 154653|| RunNum== 154654|| RunNum== 154675|| RunNum== 154681|| RunNum== 154710|| RunNum== 154765|| RunNum== 154768|| RunNum== 154769|| RunNum== 154771|| RunNum== 154799|| RunNum == 155107 || RunNum == 155113 || RunNum == 155114 || RunNum == 155115 || RunNum == 155116 || RunNum == 155121 || RunNum == 155129 || RunNum == 155130 || RunNum == 155141 || RunNum == 155145 || RunNum == 155146 || RunNum == 155148 || RunNum == 155150 || RunNum == 155155 || RunNum == 155301 || RunNum == 155304 || RunNum == 155312 || RunNum == 155313 || RunNum == 155318 || RunNum == 155320 || RunNum == 155324 || RunNum == 155343 || RunNum == 155344 || RunNum == 155345 || RunNum == 155346 || RunNum == 155347 || RunNum == 155364 || RunNum == 155365 || RunNum == 155392 || RunNum == 155743 || RunNum == 155744 || RunNum == 155746 || RunNum == 155747 || RunNum == 155763 || RunNum == 155764 || RunNum == 155767 || RunNum == 155768 || RunNum == 155770 || RunNum == 155793 || RunNum == 155794 || RunNum == 155795 || RunNum == 155796 || RunNum == 155818 || RunNum == 155820 || RunNum == 155821 || RunNum == 155892 || RunNum == 155895 || RunNum == 155918 || RunNum == 155919 || RunNum == 155920 || RunNum == 155923 || RunNum == 155996 || RunNum == 155997 || RunNum == 156006 || RunNum == 156007 || RunNum == 156081 || RunNum == 156082 || RunNum == 156083 || RunNum == 156084 || RunNum == 156087 || RunNum == 156088 || RunNum == 156089 || RunNum == 156098 || RunNum == 156100 || RunNum == 156103 || RunNum == 156112 || RunNum == 156116 || RunNum == 156117 || RunNum == 156118 || RunNum == 156362 || RunNum == 156365 || RunNum == 156369 || RunNum == 156484 || RunNum == 156487) {return true;} else{return false;} } Bool_t ww_lepton_id::notduplicate(Int_t RunNum, Int_t EvtNum, Int_t Index){ for(int i=0; ih_dphimetdee_wwall->Fill(dphi); hww->h_met_wwall->Fill(met); hww->h_zmass_wwall->Fill(zmass); hww->h_ptllPair_wwall->Fill(pteePair); hww->h_ptl_wwall->Fill(ele1mom.Pt()); hww->h_ptl_wwall->Fill(ele2mom.Pt()); hww->h_dphillmet_wwall->Fill(dphieemet); //histos of ee only //if(is ww->evev MC) hww->h_dphimetdee_wwee->Fill(dphi); hww->h_met_wwee->Fill(met); hww->h_zmass_wwee->Fill(zmass); hww->h_pteePair_wwee->Fill(pteePair); hww->h_dphieemet_wwee->Fill(dphieemet); if(ele1mom.Pt()>ele2mom.Pt()){hww->h_pte1pte2_wwee->Fill(ele1mom.Pt(),ele2mom.Pt());} if(ele1mom.Pt()<=ele2mom.Pt()){hww->h_pte1pte2_wwee->Fill(ele2mom.Pt(),ele1mom.Pt());} hww->h_pte_wwee->Fill(ele1mom.Pt()); hww->h_pte_wwee->Fill(ele2mom.Pt()); } void ww_lepton_id::FillWWmumuCandidateHistos(Int_t Imuon1, Int_t Imuon2){ //get some quantites of interest(the variables that we cut on) double zmass = ZmumuMass(Imuon1,Imuon2); double met=MetCorrMuon(); double dphi = DPhiMetDmumu(Imuon1,Imuon2); //get the mu momentums as done in ZmumuMass() double const mumass=0.10565; Float_t MuonE1= TMath::Sqrt( TMath::Power(MuonP(Imuon1),2) + TMath::Power(mumass,2) ); Float_t MuonE2= TMath::Sqrt( TMath::Power(MuonP(Imuon2),2) + TMath::Power(mumass,2) ); TLorentzVector muon1mom(MuonPx(Imuon1),MuonPy(Imuon1),MuonPz(Imuon1),MuonE1); TLorentzVector muon2mom(MuonPx(Imuon2),MuonPy(Imuon2),MuonPz(Imuon2),MuonE2); Double_t ptmumuPair = (muon1mom+muon2mom).Pt(); //get dphi of mumu direction and met Double_t muonPairPx = (muon1mom+muon2mom).Px(); Double_t muonPairPy = (muon1mom+muon2mom).Py(); Double_t dphimumumet = DeltaPhiMetAny(muonPairPx, muonPairPy); //histos of all ww hww->h_dphimetdee_wwall->Fill(dphi); hww->h_met_wwall->Fill(met); hww->h_zmass_wwall->Fill(zmass); hww->h_ptllPair_wwall->Fill(ptmumuPair); hww->h_dphillmet_wwall->Fill(dphimumumet); hww->h_ptl_wwall->Fill(muon1mom.Pt()); hww->h_ptl_wwall->Fill(muon2mom.Pt()); //ww->mumu only histos hww->h_dphimetdee_wwmumu->Fill(dphi); hww->h_met_wwmumu->Fill(met); hww->h_zmass_wwmumu->Fill(zmass); hww->h_ptmumuPair_wwmumu->Fill(ptmumuPair); hww->h_dphimumumet_wwmumu->Fill(dphimumumet); if(muon1mom.Pt()>muon2mom.Pt()){hww->h_ptmu1ptmu2_wwmumu->Fill(muon1mom.Pt(),muon2mom.Pt());} if(muon1mom.Pt()<=muon2mom.Pt()){hww->h_ptmu1ptmu2_wwmumu->Fill(muon2mom.Pt(),muon1mom.Pt());} hww->h_ptmu_wwmumu->Fill(muon1mom.Pt()); hww->h_ptmu_wwmumu->Fill(muon2mom.Pt()); } void ww_lepton_id::FillWWemuCandidateHistos(Int_t Iele, Int_t Imuon){ //get some quantites of interest(the variables that we cut on) double met=MetCorrMuon(); double dphi = DPhiMetDemu(Iele,Imuon); //get the momentum vector of mu (as done in ZmumuMass) double const mumass=0.10565; Float_t MuonE= TMath::Sqrt( TMath::Power(MuonP(Imuon),2) + TMath::Power(mumass,2) ); TLorentzVector muonmom(MuonPx(Imuon),MuonPy(Imuon),MuonPz(Imuon), MuonE); //get momentum vector of e (as done in ZeeMass() Float_t ElEx = ElectronEx(Iele);//Electron Et * cos(trackPhi) Float_t ElEy = ElectronEy(Iele);//Electron Et * sin(trackPhi) Float_t ElEz = ElectronEz(Iele);//cluster total E*cos(trackTheta) Float_t ElE = ElectronE(Iele); //cluster total energy TLorentzVector elemom(ElEx,ElEy,ElEz,ElE); Double_t ptemuPair = (muonmom+elemom).Pt(); Double_t zmass = (muonmom+elemom).M(); //get dphi of emu direction and met Double_t emuPairPx = (muonmom+elemom).Px(); Double_t emuPairPy = (muonmom+elemom).Py(); Double_t dphiemumet = DeltaPhiMetAny(emuPairPx, emuPairPy); //histos all ww hww->h_dphimetdee_wwall->Fill(dphi); hww->h_zmass_wwall->Fill(zmass); hww->h_met_wwall->Fill(met); hww->h_ptllPair_wwall->Fill(ptemuPair); hww->h_dphillmet_wwall->Fill(dphiemumet); hww->h_ptl_wwall->Fill(elemom.Pt()); hww->h_ptl_wwall->Fill(muonmom.Pt()); //histos emu only hww->h_zmass_wwemu->Fill(zmass); hww->h_dphimetdee_wwemu->Fill(dphi); hww->h_met_wwemu->Fill(met); hww->h_ptemuPair_wwemu->Fill(ptemuPair); hww->h_dphiemumet_wwemu->Fill(dphiemumet); if(elemom.Pt()>muonmom.Pt()){hww->h_pteptmu_wwemu->Fill(elemom.Pt(),muonmom.Pt());} if(elemom.Pt()<=muonmom.Pt()){hww->h_pteptmu_wwemu->Fill(muonmom.Pt(),elemom.Pt());} hww->h_ptl_wwemu->Fill(elemom.Pt()); hww->h_ptl_wwemu->Fill(muonmom.Pt()); } //ttbar void ww_lepton_id::FilltteeCandidateHistos(Int_t Iele1, Int_t Iele2){ //method that plots some interesting tt quantities after all the cuts double zmass = ZeeMass(Iele1,Iele2); double met=MetCorrMuon(); double dphi = DPhiMetDee(Iele1,Iele2); //get the e momentums (as done in ZeeMass() ) Float_t ElEx1 = ElectronEx(Iele1);//Electron Et * cos(trackPhi) Float_t ElEy1 = ElectronEy(Iele1);//Electron Et * sin(trackPhi) Float_t ElEz1 = ElectronEz(Iele1);//cluster total E*cos(trackTheta) Float_t ElE1 = ElectronE(Iele1); //cluster total energy Float_t ElEx2 = ElectronEx(Iele2); Float_t ElEy2 = ElectronEy(Iele2); Float_t ElEz2 = ElectronEz(Iele2); Float_t ElE2 = ElectronE(Iele2); TLorentzVector ele1mom(ElEx1,ElEy1,ElEz1,ElE1); TLorentzVector ele2mom(ElEx2,ElEy2,ElEz2,ElE2); Double_t pteePair = (ele1mom+ele2mom).Pt(); //get dphi of ee direction and met Double_t eePairPx = (ele1mom+ele2mom).Px(); Double_t eePairPy = (ele1mom+ele2mom).Py(); Double_t dphieemet = DeltaPhiMetAny(eePairPx, eePairPy); //histos of all tt hww->h_dphimetdee_ttall->Fill(dphi); hww->h_met_ttall->Fill(met); hww->h_zmass_ttall->Fill(zmass); hww->h_ptllPair_ttall->Fill(pteePair); hww->h_ptl_ttall->Fill(ele1mom.Pt()); hww->h_ptl_ttall->Fill(ele2mom.Pt()); if(ele1mom.Pt()>ele2mom.Pt()){hww->h_pte1pte2_ttee->Fill(ele1mom.Pt(),ele2mom.Pt());} if(ele1mom.Pt()<=ele2mom.Pt()){hww->h_pte1pte2_ttee->Fill(ele2mom.Pt(),ele1mom.Pt());} hww->h_dphillmet_ttall->Fill(dphieemet); //histos of ee only //if(is ww->evev MC) hww->h_dphimetdee_ttee->Fill(dphi); hww->h_met_ttee->Fill(met); hww->h_zmass_ttee->Fill(zmass); hww->h_pteePair_ttee->Fill(pteePair); hww->h_dphieemet_ttee->Fill(dphieemet); hww->h_pte_ttee->Fill(ele1mom.Pt()); hww->h_pte_ttee->Fill(ele2mom.Pt()); } void ww_lepton_id::FillttmumuCandidateHistos(Int_t Imuon1, Int_t Imuon2){ //get some quantites of interest(the variables that we cut on) double zmass = ZmumuMass(Imuon1,Imuon2); double met=MetCorrMuon(); double dphi = DPhiMetDmumu(Imuon1,Imuon2); //get the mu momentums as done in ZmumuMass() double const mumass=0.10565; Float_t MuonE1= TMath::Sqrt( TMath::Power(MuonP(Imuon1),2) + TMath::Power(mumass,2) ); Float_t MuonE2= TMath::Sqrt( TMath::Power(MuonP(Imuon2),2) + TMath::Power(mumass,2) ); TLorentzVector muon1mom(MuonPx(Imuon1),MuonPy(Imuon1),MuonPz(Imuon1),MuonE1); TLorentzVector muon2mom(MuonPx(Imuon2),MuonPy(Imuon2),MuonPz(Imuon2),MuonE2); Double_t ptmumuPair = (muon1mom+muon2mom).Pt(); //get dphi of mumu direction and met Double_t muonPairPx = (muon1mom+muon2mom).Px(); Double_t muonPairPy = (muon1mom+muon2mom).Py(); Double_t dphimumumet = DeltaPhiMetAny(muonPairPx, muonPairPy); //histos of all tt hww->h_dphimetdee_ttall->Fill(dphi); hww->h_met_ttall->Fill(met); hww->h_zmass_ttall->Fill(zmass); hww->h_ptllPair_ttall->Fill(ptmumuPair); hww->h_dphillmet_ttall->Fill(dphimumumet); hww->h_ptl_ttall->Fill(muon1mom.Pt()); hww->h_ptl_ttall->Fill(muon2mom.Pt()); //tt->mumu only histos hww->h_dphimetdee_ttmumu->Fill(dphi); hww->h_met_ttmumu->Fill(met); hww->h_zmass_ttmumu->Fill(zmass); hww->h_ptmumuPair_ttmumu->Fill(ptmumuPair); if(muon1mom.Pt()>muon2mom.Pt()){hww->h_ptmu1ptmu2_ttmumu->Fill(muon1mom.Pt(),muon2mom.Pt());} if(muon1mom.Pt()<=muon2mom.Pt()){hww->h_ptmu1ptmu2_ttmumu->Fill(muon2mom.Pt(),muon1mom.Pt());} hww->h_dphimumumet_ttmumu->Fill(dphimumumet); hww->h_ptmu_ttmumu->Fill(muon1mom.Pt()); hww->h_ptmu_ttmumu->Fill(muon2mom.Pt()); } void ww_lepton_id::FillttemuCandidateHistos(Int_t Iele, Int_t Imuon){ //get some quantites of interest(the variables that we cut on) double met=MetCorrMuon(); double dphi = DPhiMetDemu(Iele,Imuon); //get the momentum vector of mu (as done in ZmumuMass) double const mumass=0.10565; Float_t MuonE= TMath::Sqrt( TMath::Power(MuonP(Imuon),2) + TMath::Power(mumass,2) ); TLorentzVector muonmom(MuonPx(Imuon),MuonPy(Imuon),MuonPz(Imuon), MuonE); //get momentum vector of e (as done in ZeeMass() Float_t ElEx = ElectronEx(Iele);//Electron Et * cos(trackPhi) Float_t ElEy = ElectronEy(Iele);//Electron Et * sin(trackPhi) Float_t ElEz = ElectronEz(Iele);//cluster total E*cos(trackTheta) Float_t ElE = ElectronE(Iele); //cluster total energy TLorentzVector elemom(ElEx,ElEy,ElEz,ElE); Double_t ptemuPair = (muonmom+elemom).Pt(); Double_t zmass = (muonmom+elemom).M(); //get dphi of emu direction and met Double_t emuPairPx = (muonmom+elemom).Px(); Double_t emuPairPy = (muonmom+elemom).Py(); Double_t dphiemumet = DeltaPhiMetAny(emuPairPx, emuPairPy); //histos all tt hww->h_dphimetdee_ttall->Fill(dphi); hww->h_zmass_ttall->Fill(zmass); hww->h_met_ttall->Fill(met); hww->h_ptllPair_ttall->Fill(ptemuPair); hww->h_dphillmet_ttall->Fill(dphiemumet); hww->h_ptl_ttall->Fill(elemom.Pt()); hww->h_ptl_ttall->Fill(muonmom.Pt()); //histos emu only hww->h_zmass_ttemu->Fill(zmass); hww->h_dphimetdee_ttemu->Fill(dphi); hww->h_met_ttemu->Fill(met); hww->h_ptemuPair_ttemu->Fill(ptemuPair); if(elemom.Pt()>muonmom.Pt()){hww->h_pteptmu_ttemu->Fill(elemom.Pt(),muonmom.Pt());} if(elemom.Pt()<=muonmom.Pt()){hww->h_pteptmu_ttemu->Fill(muonmom.Pt(),elemom.Pt());} hww->h_dphiemumet_ttemu->Fill(dphiemumet); hww->h_ptl_ttemu->Fill(elemom.Pt()); hww->h_ptl_ttemu->Fill(muonmom.Pt()); } void ww_lepton_id::FilltteeCandidateHistosBHT(Int_t Iele1, Int_t Iele2){ //method that plots some interesting tt quantities after all the cuts double zmass = ZeeMass(Iele1,Iele2); double met=MetCorrMuon(); double dphi = DPhiMetDee(Iele1,Iele2); //get the e momentums (as done in ZeeMass() ) Float_t ElEx1 = ElectronEx(Iele1);//Electron Et * cos(trackPhi) Float_t ElEy1 = ElectronEy(Iele1);//Electron Et * sin(trackPhi) Float_t ElEz1 = ElectronEz(Iele1);//cluster total E*cos(trackTheta) Float_t ElE1 = ElectronE(Iele1); //cluster total energy Float_t ElEx2 = ElectronEx(Iele2); Float_t ElEy2 = ElectronEy(Iele2); Float_t ElEz2 = ElectronEz(Iele2); Float_t ElE2 = ElectronE(Iele2); TLorentzVector ele1mom(ElEx1,ElEy1,ElEz1,ElE1); TLorentzVector ele2mom(ElEx2,ElEy2,ElEz2,ElE2); Double_t pteePair = (ele1mom+ele2mom).Pt(); //get dphi of ee direction and met Double_t eePairPx = (ele1mom+ele2mom).Px(); Double_t eePairPy = (ele1mom+ele2mom).Py(); Double_t dphieemet = DeltaPhiMetAny(eePairPx, eePairPy); //histos of all tt hww->h_met_ttallbht->Fill(met); hww->h_zmass_ttallbht->Fill(zmass); //histos of ee only //if(is ww->evev MC) hww->h_met_tteebht->Fill(met); hww->h_zmass_tteebht->Fill(zmass); hww->h_pte1pte2_tteebht->Fill(ele1mom.Pt(),ele2mom.Pt()); } void ww_lepton_id::FillttmumuCandidateHistosBHT(Int_t Imuon1, Int_t Imuon2){ //get some quantites of interest(the variables that we cut on) double zmass = ZmumuMass(Imuon1,Imuon2); double met=MetCorrMuon(); double dphi = DPhiMetDmumu(Imuon1,Imuon2); //get the mu momentums as done in ZmumuMass() double const mumass=0.10565; Float_t MuonE1= TMath::Sqrt( TMath::Power(MuonP(Imuon1),2) + TMath::Power(mumass,2) ); Float_t MuonE2= TMath::Sqrt( TMath::Power(MuonP(Imuon2),2) + TMath::Power(mumass,2) ); TLorentzVector muon1mom(MuonPx(Imuon1),MuonPy(Imuon1),MuonPz(Imuon1),MuonE1); TLorentzVector muon2mom(MuonPx(Imuon2),MuonPy(Imuon2),MuonPz(Imuon2),MuonE2); Double_t ptmumuPair = (muon1mom+muon2mom).Pt(); //get dphi of mumu direction and met Double_t muonPairPx = (muon1mom+muon2mom).Px(); Double_t muonPairPy = (muon1mom+muon2mom).Py(); Double_t dphimumumet = DeltaPhiMetAny(muonPairPx, muonPairPy); //histos of all tt hww->h_met_ttallbht->Fill(met); hww->h_zmass_ttallbht->Fill(zmass); //tt->mumu only histos hww->h_met_ttmumubht->Fill(met); hww->h_zmass_ttmumubht->Fill(zmass); hww->h_ptmu1ptmu2_ttmumubht->Fill(muon1mom.Pt(),muon2mom.Pt()); } void ww_lepton_id::FillttemuCandidateHistosBHT(Int_t Iele, Int_t Imuon){ //get some quantites of interest(the variables that we cut on) before HT cut double met=MetCorrMuon(); double dphi = DPhiMetDemu(Iele,Imuon); //get the momentum vector of mu (as done in ZmumuMass) double const mumass=0.10565; Float_t MuonE= TMath::Sqrt( TMath::Power(MuonP(Imuon),2) + TMath::Power(mumass,2) ); TLorentzVector muonmom(MuonPx(Imuon),MuonPy(Imuon),MuonPz(Imuon), MuonE); //get momentum vector of e (as done in ZeeMass() Float_t ElEx = ElectronEx(Iele);//Electron Et * cos(trackPhi) Float_t ElEy = ElectronEy(Iele);//Electron Et * sin(trackPhi) Float_t ElEz = ElectronEz(Iele);//cluster total E*cos(trackTheta) Float_t ElE = ElectronE(Iele); //cluster total energy TLorentzVector elemom(ElEx,ElEy,ElEz,ElE); Double_t ptemuPair = (muonmom+elemom).Pt(); Double_t zmass = (muonmom+elemom).M(); //get dphi of emu direction and met Double_t emuPairPx = (muonmom+elemom).Px(); Double_t emuPairPy = (muonmom+elemom).Py(); Double_t dphiemumet = DeltaPhiMetAny(emuPairPx, emuPairPy); //histos all tt hww->h_zmass_ttallbht->Fill(zmass); hww->h_met_ttallbht->Fill(met); //histos emu only hww->h_zmass_ttemubht->Fill(zmass); hww->h_met_ttemubht->Fill(met); if(elemom.Pt()>muonmom.Pt()){hww->h_pteptmu_ttemubht->Fill(elemom.Pt(),muonmom.Pt());} if(elemom.Pt()<=muonmom.Pt()){hww->h_pteptmu_ttemubht->Fill(muonmom.Pt(),elemom.Pt());} } void ww_lepton_id::FillWWeeCandidateHistosBHT(Int_t Iele1, Int_t Iele2){ //method that plots some interesting tt quantities after all the cuts double zmass = ZeeMass(Iele1,Iele2); double met=MetCorrMuon(); double dphi = DPhiMetDee(Iele1,Iele2); //get the e momentums (as done in ZeeMass() ) Float_t ElEx1 = ElectronEx(Iele1);//Electron Et * cos(trackPhi) Float_t ElEy1 = ElectronEy(Iele1);//Electron Et * sin(trackPhi) Float_t ElEz1 = ElectronEz(Iele1);//cluster total E*cos(trackTheta) Float_t ElE1 = ElectronE(Iele1); //cluster total energy Float_t ElEx2 = ElectronEx(Iele2); Float_t ElEy2 = ElectronEy(Iele2); Float_t ElEz2 = ElectronEz(Iele2); Float_t ElE2 = ElectronE(Iele2); TLorentzVector ele1mom(ElEx1,ElEy1,ElEz1,ElE1); TLorentzVector ele2mom(ElEx2,ElEy2,ElEz2,ElE2); Double_t pteePair = (ele1mom+ele2mom).Pt(); //get dphi of ee direction and met Double_t eePairPx = (ele1mom+ele2mom).Px(); Double_t eePairPy = (ele1mom+ele2mom).Py(); Double_t dphieemet = DeltaPhiMetAny(eePairPx, eePairPy); //histos of all ww hww->h_met_wwallbht->Fill(met); hww->h_zmass_wwallbht->Fill(zmass); //histos of ee only //if(is ww->evev MC) hww->h_met_wweebht->Fill(met); hww->h_zmass_wweebht->Fill(zmass); } void ww_lepton_id::FillWWmumuCandidateHistosBHT(Int_t Imuon1, Int_t Imuon2){ //get some quantites of interest(the variables that we cut on) double zmass = ZmumuMass(Imuon1,Imuon2); double met=MetCorrMuon(); double dphi = DPhiMetDmumu(Imuon1,Imuon2); //get the mu momentums as done in ZmumuMass() double const mumass=0.10565; Float_t MuonE1= TMath::Sqrt( TMath::Power(MuonP(Imuon1),2) + TMath::Power(mumass,2) ); Float_t MuonE2= TMath::Sqrt( TMath::Power(MuonP(Imuon2),2) + TMath::Power(mumass,2) ); TLorentzVector muon1mom(MuonPx(Imuon1),MuonPy(Imuon1),MuonPz(Imuon1),MuonE1); TLorentzVector muon2mom(MuonPx(Imuon2),MuonPy(Imuon2),MuonPz(Imuon2),MuonE2); Double_t ptmumuPair = (muon1mom+muon2mom).Pt(); //get dphi of mumu direction and met Double_t muonPairPx = (muon1mom+muon2mom).Px(); Double_t muonPairPy = (muon1mom+muon2mom).Py(); Double_t dphimumumet = DeltaPhiMetAny(muonPairPx, muonPairPy); //histos of all ww hww->h_met_wwallbht->Fill(met); hww->h_zmass_wwallbht->Fill(zmass); //ww->mumu only histos hww->h_met_wwmumubht->Fill(met); hww->h_zmass_wwmumubht->Fill(zmass); } void ww_lepton_id::FillWWemuCandidateHistosBHT(Int_t Iele, Int_t Imuon){ //get some quantites of interest(the variables that we cut on) before HT cut double met=MetCorrMuon(); double dphi = DPhiMetDemu(Iele,Imuon); //get the momentum vector of mu (as done in ZmumuMass) double const mumass=0.10565; Float_t MuonE= TMath::Sqrt( TMath::Power(MuonP(Imuon),2) + TMath::Power(mumass,2) ); TLorentzVector muonmom(MuonPx(Imuon),MuonPy(Imuon),MuonPz(Imuon), MuonE); //get momentum vector of e (as done in ZeeMass() Float_t ElEx = ElectronEx(Iele);//Electron Et * cos(trackPhi) Float_t ElEy = ElectronEy(Iele);//Electron Et * sin(trackPhi) Float_t ElEz = ElectronEz(Iele);//cluster total E*cos(trackTheta) Float_t ElE = ElectronE(Iele); //cluster total energy TLorentzVector elemom(ElEx,ElEy,ElEz,ElE); Double_t ptemuPair = (muonmom+elemom).Pt(); Double_t zmass = (muonmom+elemom).M(); //get dphi of emu direction and met Double_t emuPairPx = (muonmom+elemom).Px(); Double_t emuPairPy = (muonmom+elemom).Py(); Double_t dphiemumet = DeltaPhiMetAny(emuPairPx, emuPairPy); //histos all ww hww->h_zmass_wwallbht->Fill(zmass); hww->h_met_wwallbht->Fill(met); //histos emu only hww->h_zmass_wwemubht->Fill(zmass); hww->h_met_wwemubht->Fill(met); } //1jet void ww_lepton_id::Fill1jeeCandidateHistos(Int_t Iele1, Int_t Iele2){ //method that plots some interesting WW quantities after all the cuts double zmass = ZeeMass(Iele1,Iele2); double met=MetCorrMuon(); double dphi = DPhiMetDee(Iele1,Iele2); //get the e momentums (as done in ZeeMass() ) Float_t ElEx1 = ElectronEx(Iele1);//Electron Et * cos(trackPhi) Float_t ElEy1 = ElectronEy(Iele1);//Electron Et * sin(trackPhi) Float_t ElEz1 = ElectronEz(Iele1);//cluster total E*cos(trackTheta) Float_t ElE1 = ElectronE(Iele1); //cluster total energy Float_t ElEx2 = ElectronEx(Iele2); Float_t ElEy2 = ElectronEy(Iele2); Float_t ElEz2 = ElectronEz(Iele2); Float_t ElE2 = ElectronE(Iele2); TLorentzVector ele1mom(ElEx1,ElEy1,ElEz1,ElE1); TLorentzVector ele2mom(ElEx2,ElEy2,ElEz2,ElE2); Double_t pteePair = (ele1mom+ele2mom).Pt(); //get dphi of ee direction and met Double_t eePairPx = (ele1mom+ele2mom).Px(); Double_t eePairPy = (ele1mom+ele2mom).Py(); Double_t dphieemet = DeltaPhiMetAny(eePairPx, eePairPy); //histos of all 1 Jet hww->h_dphimetdee_1jall->Fill(dphi); hww->h_met_1jall->Fill(met); hww->h_zmass_1jall->Fill(zmass); hww->h_ptllPair_1jall->Fill(pteePair); hww->h_ptl_1jall->Fill(ele1mom.Pt()); hww->h_ptl_1jall->Fill(ele2mom.Pt()); hww->h_dphillmet_1jall->Fill(dphieemet); //histos of ee only //if(is 1j->evev MC) hww->h_dphimetdee_1jee->Fill(dphi); hww->h_met_1jee->Fill(met); hww->h_zmass_1jee->Fill(zmass); hww->h_pteePair_1jee->Fill(pteePair); hww->h_dphieemet_1jee->Fill(dphieemet); if(ele1mom.Pt()>ele2mom.Pt()){hww->h_pte1pte2_1jee->Fill(ele1mom.Pt(),ele2mom.Pt());} if(ele1mom.Pt()<=ele2mom.Pt()){hww->h_pte1pte2_1jee->Fill(ele2mom.Pt(),ele1mom.Pt());} hww->h_pte_1jee->Fill(ele1mom.Pt()); hww->h_pte_1jee->Fill(ele2mom.Pt()); } void ww_lepton_id::Fill1jmumuCandidateHistos(Int_t Imuon1, Int_t Imuon2){ //get some quantites of interest(the variables that we cut on) double zmass = ZmumuMass(Imuon1,Imuon2); double met=MetCorrMuon(); double dphi = DPhiMetDmumu(Imuon1,Imuon2); //get the mu momentums as done in ZmumuMass() double const mumass=0.10565; Float_t MuonE1= TMath::Sqrt( TMath::Power(MuonP(Imuon1),2) + TMath::Power(mumass,2) ); Float_t MuonE2= TMath::Sqrt( TMath::Power(MuonP(Imuon2),2) + TMath::Power(mumass,2) ); TLorentzVector muon1mom(MuonPx(Imuon1),MuonPy(Imuon1),MuonPz(Imuon1),MuonE1); TLorentzVector muon2mom(MuonPx(Imuon2),MuonPy(Imuon2),MuonPz(Imuon2),MuonE2); Double_t ptmumuPair = (muon1mom+muon2mom).Pt(); //get dphi of mumu direction and met Double_t muonPairPx = (muon1mom+muon2mom).Px(); Double_t muonPairPy = (muon1mom+muon2mom).Py(); Double_t dphimumumet = DeltaPhiMetAny(muonPairPx, muonPairPy); //histos of all 1 Jet hww->h_dphimetdee_1jall->Fill(dphi); hww->h_met_1jall->Fill(met); hww->h_zmass_1jall->Fill(zmass); hww->h_ptllPair_1jall->Fill(ptmumuPair); hww->h_dphillmet_1jall->Fill(dphimumumet); hww->h_ptl_1jall->Fill(muon1mom.Pt()); hww->h_ptl_1jall->Fill(muon2mom.Pt()); //1j->mumu only histos hww->h_dphimetdee_wwmumu->Fill(dphi); hww->h_met_1jmumu->Fill(met); hww->h_zmass_1jmumu->Fill(zmass); hww->h_ptmumuPair_1jmumu->Fill(ptmumuPair); hww->h_dphimumumet_1jmumu->Fill(dphimumumet); if(muon1mom.Pt()>muon2mom.Pt()){hww->h_ptmu1ptmu2_1jmumu->Fill(muon1mom.Pt(),muon2mom.Pt());} if(muon1mom.Pt()<=muon2mom.Pt()){hww->h_ptmu1ptmu2_1jmumu->Fill(muon2mom.Pt(),muon1mom.Pt());} hww->h_ptmu_1jmumu->Fill(muon1mom.Pt()); hww->h_ptmu_1jmumu->Fill(muon2mom.Pt()); } void ww_lepton_id::Fill1jemuCandidateHistos(Int_t Iele, Int_t Imuon){ //get some quantites of interest(the variables that we cut on) double met=MetCorrMuon(); double dphi = DPhiMetDemu(Iele,Imuon); //get the momentum vector of mu (as done in ZmumuMass) double const mumass=0.10565; Float_t MuonE= TMath::Sqrt( TMath::Power(MuonP(Imuon),2) + TMath::Power(mumass,2) ); TLorentzVector muonmom(MuonPx(Imuon),MuonPy(Imuon),MuonPz(Imuon), MuonE); //get momentum vector of e (as done in ZeeMass() Float_t ElEx = ElectronEx(Iele);//Electron Et * cos(trackPhi) Float_t ElEy = ElectronEy(Iele);//Electron Et * sin(trackPhi) Float_t ElEz = ElectronEz(Iele);//cluster total E*cos(trackTheta) Float_t ElE = ElectronE(Iele); //cluster total energy TLorentzVector elemom(ElEx,ElEy,ElEz,ElE); Double_t ptemuPair = (muonmom+elemom).Pt(); Double_t zmass = (muonmom+elemom).M(); //get dphi of emu direction and met Double_t emuPairPx = (muonmom+elemom).Px(); Double_t emuPairPy = (muonmom+elemom).Py(); Double_t dphiemumet = DeltaPhiMetAny(emuPairPx, emuPairPy); //histos all 1j hww->h_dphimetdee_1jall->Fill(dphi); hww->h_zmass_1jall->Fill(zmass); hww->h_met_1jall->Fill(met); hww->h_ptllPair_1jall->Fill(ptemuPair); hww->h_dphillmet_1jall->Fill(dphiemumet); hww->h_ptl_1jall->Fill(elemom.Pt()); hww->h_ptl_1jall->Fill(muonmom.Pt()); //histos emu only hww->h_zmass_1jemu->Fill(zmass); hww->h_dphimetdee_1jemu->Fill(dphi); hww->h_met_1jemu->Fill(met); hww->h_ptemuPair_1jemu->Fill(ptemuPair); hww->h_dphiemumet_1jemu->Fill(dphiemumet); if(elemom.Pt()>muonmom.Pt()){hww->h_pteptmu_1jemu->Fill(elemom.Pt(),muonmom.Pt());} if(elemom.Pt()<=muonmom.Pt()){hww->h_pteptmu_1jemu->Fill(muonmom.Pt(),elemom.Pt());} hww->h_ptl_1jemu->Fill(elemom.Pt()); hww->h_ptl_1jemu->Fill(muonmom.Pt()); } Bool_t ww_lepton_id::GoodTrigger() {if(int(1*GLB_L3_MUON_CMUP18)==1||int(1*GLB_L3_MUON_CMX18)==1||int(1*GLB_L3_ELECTRON_CENTRAL_18)==1) {return true;} else {return false;} } #endif // #ifdef ww_lepton_id_cxx