Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 10:02:00

0001 #ifndef RecoTauTag_RecoTau_PFTauDecayModeTools_h
0002 #define RecoTauTag_RecoTau_PFTauDecayModeTools_h
0003 
0004 /*
0005  * Tools to help deal with the PFTau::hadronicDecayMode
0006  * defintion.
0007  *
0008  * Author: Evan K. Friis, UC Davis
0009  *
0010  */
0011 
0012 #include "DataFormats/TauReco/interface/PFTau.h"
0013 
0014 // Forward declaration
0015 namespace reco {
0016   class GenJet;
0017 }
0018 
0019 namespace reco {
0020   namespace tau {
0021 
0022     /// Reverse mapping of decay modes into multiplicities
0023     unsigned int chargedHadronsInDecayMode(PFTau::hadronicDecayMode mode);
0024 
0025     unsigned int piZerosInDecayMode(PFTau::hadronicDecayMode mode);
0026 
0027     PFTau::hadronicDecayMode translateDecayMode(unsigned int nCharged, unsigned int nPiZero);
0028 
0029     /// Convert a genTau decay mode string ('oneProng0Pi0') to the RECO enum
0030     PFTau::hadronicDecayMode translateGenDecayModeToReco(const std::string& genName);
0031 
0032     /// Convert a RECO enum decay mode to a string ('oneProng0Pi0')
0033     std::string translateRecoDecayModeToGen(PFTau::hadronicDecayMode decayMode);
0034 
0035     PFTau::hadronicDecayMode getDecayMode(const reco::GenJet* genJet);
0036 
0037   }  // namespace tau
0038 }  // namespace reco
0039 
0040 #endif