--- UserCode/HbbAnalysis/interface/Objects.hh 2009/10/02 11:05:52 1.2 +++ UserCode/HbbAnalysis/interface/Objects.hh 2010/10/25 11:03:44 1.16 @@ -8,22 +8,47 @@ #include "TLorentzVector.h" namespace HbbAnalysis { - + struct MCVars { unsigned int index; double E; double pT; double eta; + double y; double phi; int pdgId; int status; }; + struct HLTVars { + float pT; + float eta; + float phi; + int id; + float mass; + unsigned int type;//1=EM, 2=muon, 3=jet, 0=unknown + }; + + struct L1Vars { + //type: + //0 = empty + //1 = central jet + //2 = tau jet + //3 = forward jet + unsigned int type; + int bx; + float pT; + float ET; + float eta; + float phi; + }; + struct GenVars { bool valid; double E; double pT; double eta; + double y; double phi; int charge; int pdgId; @@ -38,6 +63,7 @@ namespace HbbAnalysis { double E; double pT; double eta; + double y; double phi; float charge; double vx; @@ -62,12 +88,25 @@ namespace HbbAnalysis { }; struct EleIDVars{ + bool idAndIso; std::vector > electronIDs; float hOverE; float deltaPhiIn; float deltaEtaIn; + bool ecalDrivenSeed; + bool trackerDrivenSeed; }; + struct MuTrkVars { + float dxy; + float dz; + float normalizedChi2; + unsigned int muonHits; + int charge; + unsigned int trackerHits; + unsigned int pixelHits; + }; + struct MuIsoVars { float sumPt; float emEt; @@ -87,7 +126,7 @@ namespace HbbAnalysis { unsigned int nMatchesTight; }; - struct TauLeadTrkVars{ + struct TrkVars{ double pT; double eta; double phi; @@ -142,6 +181,15 @@ namespace HbbAnalysis { float byIsolation; float againstElectron; float againstMuon; + float byIsolationUsingLeadingPion; + float byTaNC; + float byTaNCfrHalfPercent; + float byTaNCfrOnePercent; + float byTaNCfrQuarterPercent; + float byTaNCfrTenthPercent; + float ecalIsolationUsingLeadingPion; + float leadingPionPtCut; + float trackIsolationUsingLeadingPion; }; struct PFTauEleIDVars{ @@ -165,6 +213,13 @@ namespace HbbAnalysis { int partonFlavour; unsigned int nAssociatedTracks; double rawpT; + float etaMean; + float phiMean; + float etaEtaMoment; + float phiPhiMoment; + float etaPhiMoment; + bool l1Match; + bool hltMatch; //double rawEta; //double rawPhi; }; @@ -186,36 +241,78 @@ namespace HbbAnalysis { double n60; }; - struct PFJetVars{ + struct JPTJetVars{ + float zspCorrection; + int elecMultiplicity; + std::vector pionsInCone; + std::vector pionsCurledOut; + std::vector pionsCurledIn; + std::vector elecsInCone; + std::vector elecsCurledOut; + std::vector elecsCurledIn; + std::vector muonsInCone; + std::vector muonsCurledOut; + std::vector muonsCurledIn; + }; + + struct JPTPFJetVars{ double chargedHadronEnergy; double chargedHadronEnergyFraction; double neutralHadronEnergy; double neutralHadronEnergyFraction; double chargedEmEnergy; double chargedEmEnergyFraction; - double chargedMuEnergy; - double chargedMuEnergyFraction; double neutralEmEnergy; double neutralEmEnergyFraction; double chargedMultiplicity; - double neutralMultiplicity; double muonMultiplicity; }; + struct PFJetVars{ + double chargedMuEnergy; + double chargedMuEnergyFraction; + double neutralMultiplicity; + }; + struct JetBtagVars{ double cSV; double cSVMVA; double iPMVA; double bProba; double probability; - double sSV; - double softElectron; + double sSVHE; + double sSVHP; + double softElectronByPt; + double softElectronByIP3d; double softMuon; - double softMuonNoIP; + double softMuonByPt; + double softMuonByIP3d; double tCHE; double tCHP; }; + + struct JetIDVars{ + double fHPD; + double fRBX; + int n90Hits; + //double fSubDetector1; + //double fSubDetector2; + //double fSubDetector3; + //double fSubDetector4; + double restrictedEMF; + int nHCALTowers; + int nECALTowers; + //double approximatefHPD; + //double approximatefRBX; + int hitsInN90; + // muon hits id + //int numberOfHits2RPC; + //int numberOfHits3RPC; + //int numberOfHitsRPC; + }; + + struct MetVars{ double mET; double mEx; @@ -231,9 +328,54 @@ namespace HbbAnalysis { bool accept; }; + + struct VertexVars{ + std::vector trackWeights; + double chi2; + double ndof; + double x; + double y; + double z; + double rho; + double xError; + double yError; + double zError; + double cov01; + double cov02; + double cov12; + }; + + struct BeamSpotVars{ + double x0; + double y0; + double z0; + double sigmaZ; + double BeamWidthX; + double BeamWidthY; + double x0Error; + double y0Error; + double z0Error; + double sigmaZ0Error; + double BeamWidthXError; + double BeamWidthYError; + //double dxdz; + //double dydz; + //double dxdzError; + //double dydzError; + //BeamType type(); + //enum BeamType { Unknown=-1, Fake=0, LHC=1, Tracker=2 }; + //double emittanceX() const { return emittanceX_; } + //double emittanceY() const { return emittanceY_; } + //double betaStar() const { return betaStar_; } + }; + + + + double DeltaPhi(const double phi1, const double phi2); double DeltaR(const BaseVars & v1, const BaseVars & v2); + double DeltaR(const BaseVars & v1, const GenVars & v2); double SameSign(const BaseVars & v1, const BaseVars & v2); @@ -260,6 +402,9 @@ namespace HbbAnalysis { double mEx, double mEy); + double EtaDetector(const BaseVars & v1); + double EtaDetector(const GenVars & v1); + }//namespace #endif