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_PFSpecific_h
0005 #define DataFormats_PatCandidates_Tau_PFSpecific_h
0006 
0007 /**
0008   \class    pat::tau::PFSpecific TauPFSpecific.h "DataFormats/PatCandidates/interface/TauPFSpecific.h"
0009   \brief    Structure to hold information specific to a PFTau made from PFCandidates inside a pat::Tau
0010 
0011   \author   Giovanni Petrucciani
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 TauPFSpecific {
0023       // dummy constructor for ROOT I/O
0024       TauPFSpecific() {}
0025       // constructor from PFTau
0026       TauPFSpecific(const reco::PFTau& tau);
0027       // datamembers
0028       reco::JetBaseRef pfJetRef_;
0029       reco::CandidatePtr leadPFChargedHadrCand_;
0030       float leadPFChargedHadrCandsignedSipt_;
0031       reco::PFCandidatePtr leadPFNeutralCand_;
0032       reco::PFCandidatePtr leadPFCand_;
0033       std::vector<reco::PFCandidatePtr> selectedSignalPFCands_;
0034       std::vector<reco::PFCandidatePtr> selectedSignalPFChargedHadrCands_;
0035       std::vector<reco::PFCandidatePtr> selectedSignalPFNeutrHadrCands_;
0036       std::vector<reco::PFCandidatePtr> selectedSignalPFGammaCands_;
0037       std::vector<reco::PFRecoTauChargedHadron> signalTauChargedHadronCandidates_;
0038       std::vector<reco::RecoTauPiZero> signalPiZeroCandidates_;
0039       std::vector<reco::PFCandidatePtr> selectedIsolationPFCands_;
0040       std::vector<reco::PFCandidatePtr> selectedIsolationPFChargedHadrCands_;
0041       std::vector<reco::PFCandidatePtr> selectedIsolationPFNeutrHadrCands_;
0042       std::vector<reco::PFCandidatePtr> selectedIsolationPFGammaCands_;
0043       std::vector<reco::PFRecoTauChargedHadron> isolationTauChargedHadronCandidates_;
0044       std::vector<reco::RecoTauPiZero> isolationPiZeroCandidates_;
0045       float isolationPFChargedHadrCandsPtSum_;
0046       float isolationPFGammaCandsEtSum_;
0047       float maximumHCALPFClusterEt_;
0048 
0049       float emFraction_;
0050       float hcalTotOverPLead_;
0051       float hcalMaxOverPLead_;
0052       float hcal3x3OverPLead_;
0053       float ecalStripSumEOverPLead_;
0054       float bremsRecoveryEOverPLead_;
0055       reco::TrackRef electronPreIDTrack_;
0056       float electronPreIDOutput_;
0057       bool electronPreIDDecision_;
0058 
0059       float caloComp_;
0060       float segComp_;
0061       bool muonDecision_;
0062 
0063       float etaetaMoment_;
0064       float phiphiMoment_;
0065       float etaphiMoment_;
0066 
0067       float bendCorrMass_;
0068       float signalConeSize_;
0069     };
0070 
0071   }  // namespace tau
0072 }  // namespace pat
0073 
0074 #endif