Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:55

0001 //
0002 //
0003 
0004 #ifndef DataFormats_PatCandidates_Tau_PFEssential_h
0005 #define DataFormats_PatCandidates_Tau_PFEssential_h
0006 
0007 /**
0008   \class    pat::tau::PFEssential TauPFEssential.h "DataFormats/PatCandidates/interface/TauPFEssential.h"
0009   \brief    Structure to hold information from PFTau essential for analysis inside a pat::Tau
0010 
0011   \author   Pavel Jez
0012 */
0013 
0014 #include "DataFormats/TauReco/interface/PFTau.h"
0015 #include "DataFormats/TauReco/interface/PFTauTransverseImpactParameter.h"
0016 #include "DataFormats/Candidate/interface/Candidate.h"
0017 #include "DataFormats/VertexReco/interface/VertexFwd.h"
0018 
0019 namespace pat {
0020   namespace tau {
0021 
0022     struct TauPFEssential {
0023       // define a float-precision version of the typedefs in reco::PFTauTransverseImpactParameter class
0024       typedef math::PtEtaPhiMLorentzVectorF LorentzVector;
0025       typedef math::XYZPointF Point;
0026       typedef math::XYZVectorF Vector;
0027       typedef math::ErrorF<3>::type CovMatrix;
0028 
0029       // dummy constructor for ROOT I/O
0030       TauPFEssential() {}
0031       // constructor from PFTau
0032       TauPFEssential(const reco::PFTau& tau);
0033       // datamembers
0034       LorentzVector p4Jet_;
0035       LorentzVector p4CorrJet_;
0036 
0037       int decayMode_;
0038 
0039       Point dxy_PCA_;
0040       float dxy_;
0041       float dxy_error_;
0042       float dxy_Sig_;
0043       reco::VertexRef pv_;
0044       Point pvPos_;
0045       CovMatrix pvCov_;
0046       bool hasSV_;
0047       Vector flightLength_;
0048       float flightLengthSig_;
0049       reco::VertexRef sv_;
0050       Point svPos_;
0051       CovMatrix svCov_;
0052       float ip3d_;
0053       float ip3d_error_;
0054       float ecalEnergy_;
0055       float hcalEnergy_;
0056       float leadingTrackNormChi2_;
0057       float phiAtEcalEntrance_;
0058       float etaAtEcalEntrance_;
0059       float ecalEnergyLeadChargedHadrCand_;
0060       float hcalEnergyLeadChargedHadrCand_;
0061       float etaAtEcalEntranceLeadChargedCand_;
0062       float ptLeadChargedCand_;
0063       float emFraction_;
0064     };
0065 
0066   }  // namespace tau
0067 }  // namespace pat
0068 
0069 #endif