TauPFSpecific

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
//
//

#ifndef DataFormats_PatCandidates_Tau_PFSpecific_h
#define DataFormats_PatCandidates_Tau_PFSpecific_h

/**
  \class    pat::tau::PFSpecific TauPFSpecific.h "DataFormats/PatCandidates/interface/TauPFSpecific.h"
  \brief    Structure to hold information specific to a PFTau made from PFCandidates inside a pat::Tau

  \author   Giovanni Petrucciani
*/

#include "DataFormats/TauReco/interface/PFTau.h"
#include "DataFormats/TauReco/interface/PFTauTransverseImpactParameter.h"
#include "DataFormats/Candidate/interface/Candidate.h"
#include "DataFormats/VertexReco/interface/VertexFwd.h"

namespace pat {
  namespace tau {

    struct TauPFSpecific {
      // dummy constructor for ROOT I/O
      TauPFSpecific() {}
      // constructor from PFTau
      TauPFSpecific(const reco::PFTau& tau);
      // datamembers
      reco::JetBaseRef pfJetRef_;
      reco::CandidatePtr leadPFChargedHadrCand_;
      float leadPFChargedHadrCandsignedSipt_;
      reco::PFCandidatePtr leadPFNeutralCand_;
      reco::PFCandidatePtr leadPFCand_;
      std::vector<reco::PFCandidatePtr> selectedSignalPFCands_;
      std::vector<reco::PFCandidatePtr> selectedSignalPFChargedHadrCands_;
      std::vector<reco::PFCandidatePtr> selectedSignalPFNeutrHadrCands_;
      std::vector<reco::PFCandidatePtr> selectedSignalPFGammaCands_;
      std::vector<reco::PFRecoTauChargedHadron> signalTauChargedHadronCandidates_;
      std::vector<reco::RecoTauPiZero> signalPiZeroCandidates_;
      std::vector<reco::PFCandidatePtr> selectedIsolationPFCands_;
      std::vector<reco::PFCandidatePtr> selectedIsolationPFChargedHadrCands_;
      std::vector<reco::PFCandidatePtr> selectedIsolationPFNeutrHadrCands_;
      std::vector<reco::PFCandidatePtr> selectedIsolationPFGammaCands_;
      std::vector<reco::PFRecoTauChargedHadron> isolationTauChargedHadronCandidates_;
      std::vector<reco::RecoTauPiZero> isolationPiZeroCandidates_;
      float isolationPFChargedHadrCandsPtSum_;
      float isolationPFGammaCandsEtSum_;
      float maximumHCALPFClusterEt_;

      float emFraction_;
      float hcalTotOverPLead_;
      float hcalMaxOverPLead_;
      float hcal3x3OverPLead_;
      float ecalStripSumEOverPLead_;
      float bremsRecoveryEOverPLead_;
      reco::TrackRef electronPreIDTrack_;
      float electronPreIDOutput_;
      bool electronPreIDDecision_;

      float caloComp_;
      float segComp_;
      bool muonDecision_;

      float etaetaMoment_;
      float phiphiMoment_;
      float etaphiMoment_;

      float bendCorrMass_;
      float signalConeSize_;
    };

  }  // namespace tau
}  // namespace pat

#endif