Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:48

0001 #include "DataFormats/Common/interface/Handle.h"
0002 
0003 #include <vector>
0004 #include <string>
0005 #include <atomic>
0006 
0007 struct PFRecoTauDiscriminationAgainstMuonConfigSet {
0008   enum { kLoose, kMedium, kTight, kCustom };
0009 
0010   PFRecoTauDiscriminationAgainstMuonConfigSet(int dOpt, double hop, int mNOM, bool doCMV, int mNHL2S)
0011       : discriminatorOption(dOpt),
0012         hop(hop),
0013         maxNumberOfMatches(mNOM),
0014         doCaloMuonVeto(doCMV),
0015         maxNumberOfHitsLast2Stations(mNHL2S) {}
0016 
0017   int discriminatorOption;
0018   double hop;
0019   int maxNumberOfMatches;
0020   bool doCaloMuonVeto;
0021   int maxNumberOfHitsLast2Stations;
0022 };
0023 
0024 struct PFRecoTauDiscriminationAgainstMuon2Helper {
0025   double energyECALplusHCAL_;
0026   const reco::PFCandidatePtr& pfLeadChargedHadron_;
0027   const reco::Track* leadTrack_ = nullptr;
0028   int numStationsWithMatches_ = 0;
0029   int numLast2StationsWithHits_ = 0;
0030 
0031   PFRecoTauDiscriminationAgainstMuon2Helper(const bool&,
0032                                             const std::string&,
0033                                             const bool,
0034                                             const double&,
0035                                             const double&,
0036                                             const bool&,
0037                                             std::atomic<unsigned int>&,
0038                                             const unsigned int&,
0039                                             const std::vector<int>&,
0040                                             const std::vector<int>&,
0041                                             const std::vector<int>&,
0042                                             const std::vector<int>&,
0043                                             const std::vector<int>&,
0044                                             const std::vector<int>&,
0045                                             const edm::Handle<reco::MuonCollection>&,
0046                                             const reco::PFTauRef&,
0047                                             const reco::PFCandidatePtr&);
0048   bool eval(const PFRecoTauDiscriminationAgainstMuonConfigSet&, const reco::PFTauRef&) const;
0049 };