CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/DataFormats/PatCandidates/src/TauPFSpecific.cc

Go to the documentation of this file.
00001 #include "DataFormats/PatCandidates/interface/TauPFSpecific.h"
00002 
00003 #include "DataFormats/JetReco/interface/Jet.h"
00004 
00005 pat::tau::TauPFSpecific::TauPFSpecific(const reco::PFTau& tau) :
00006     // reference to PFJet from which PFTau was made
00007     pfJetRef_(tau.jetRef()),
00008     // Leading track/charged candidate
00009     leadPFChargedHadrCand_(tau.leadPFChargedHadrCand()),    
00010     leadPFChargedHadrCandsignedSipt_(tau.leadPFChargedHadrCandsignedSipt()),
00011     // Leading neutral candidate
00012     leadPFNeutralCand_(tau.leadPFNeutralCand()), 
00013     // Leading charged or neutral candidate
00014     leadPFCand_(tau.leadPFCand()), 
00015     // Signal cone
00016     selectedSignalPFCands_(tau.signalPFCands()), 
00017     selectedSignalPFChargedHadrCands_(tau.signalPFChargedHadrCands()), 
00018     selectedSignalPFNeutrHadrCands_(tau.signalPFNeutrHadrCands()), 
00019     selectedSignalPFGammaCands_(tau.signalPFGammaCands()),
00020     // Isolation cone
00021     selectedIsolationPFCands_(tau.isolationPFCands()), 
00022     selectedIsolationPFChargedHadrCands_(tau.isolationPFChargedHadrCands()), 
00023     selectedIsolationPFNeutrHadrCands_(tau.isolationPFNeutrHadrCands()), 
00024     selectedIsolationPFGammaCands_(tau.isolationPFGammaCands()),
00025     isolationPFChargedHadrCandsPtSum_(tau.isolationPFChargedHadrCandsPtSum()),
00026     isolationPFGammaCandsEtSum_(tau.isolationPFGammaCandsEtSum()),
00027     // Other useful variables 
00028     maximumHCALPFClusterEt_(tau.maximumHCALPFClusterEt()),
00029     emFraction_(tau.emFraction()),
00030     hcalTotOverPLead_(tau.hcalTotOverPLead()),
00031     hcalMaxOverPLead_(tau.hcalMaxOverPLead()),
00032     hcal3x3OverPLead_(tau.hcal3x3OverPLead()),
00033     ecalStripSumEOverPLead_(tau.ecalStripSumEOverPLead()),
00034     bremsRecoveryEOverPLead_(tau.bremsRecoveryEOverPLead()),
00035     // Electron rejection variables
00036     electronPreIDTrack_(tau.electronPreIDTrack()),
00037     electronPreIDOutput_(tau.electronPreIDOutput()),
00038     electronPreIDDecision_(tau.electronPreIDDecision()),
00039     // Muon rejection variables
00040     caloComp_(tau.caloComp()),
00041     segComp_(tau.segComp()),
00042     muonDecision_(tau.muonDecision())
00043 {
00044   if ( tau.jetRef().isAvailable() && tau.jetRef().isNonnull() ) { // CV: add protection to ease transition to new CMSSW 4_2_x RecoTauTags
00045     reco::Jet::EtaPhiMoments etaPhiStatistics = tau.jetRef()->etaPhiStatistics();
00046     etaetaMoment_ = etaPhiStatistics.etaEtaMoment;
00047     phiphiMoment_ = etaPhiStatistics.phiPhiMoment;
00048     etaphiMoment_ = etaPhiStatistics.etaPhiMoment;
00049   }
00050 }