CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CaloRecoTauDiscriminationByIsolation.cc
Go to the documentation of this file.
1 /* class CaloRecoTauDiscriminationByIsolation
2  * created : Jul 23 2007,
3  * revised : Sep 5 2007,
4  * contributors : Ludovic Houchu (Ludovic.Houchu@cern.ch ; IPHC, Strasbourg), Christian Veelken (veelken@fnal.gov ; UC Davis), Evan Friis (UC Davis)
5  */
6 
8 
9 using namespace reco;
10 
12  public:
14  applyDiscriminationByTrackerIsolation_ = iConfig.getParameter<bool>("ApplyDiscriminationByTrackerIsolation");
15  TrackerIsolAnnulus_maximumOccupancy_ = iConfig.getParameter<unsigned>("TrackerIsolAnnulus_maximumOccupancy");
16 
17  applyDiscriminationByECALIsolation_ = iConfig.getParameter<bool>("ApplyDiscriminationByECALIsolation");
18  EcalIsolAnnulus_maximumSumEtCut_ = iConfig.getParameter<double>("ECALisolAnnulus_maximumSumEtCut");
19  }
21  double discriminate(const CaloTauRef&) override;
22  private:
27 };
28 
30 {
31  if ( applyDiscriminationByTrackerIsolation_ ){
32  if ( caloTau->isolationTracks().size() > TrackerIsolAnnulus_maximumOccupancy_ ) return 0.;
33  }
34 
35  if ( applyDiscriminationByECALIsolation_ ) {
36  if ( caloTau->isolationECALhitsEtSum() > EcalIsolAnnulus_maximumSumEtCut_ ) return 0.;
37  }
38 
39  // N.B. the lead track requirement must be included in the discriminants
40  return 1.;
41 }
42 
T getParameter(std::string const &) const
CaloRecoTauDiscriminationByIsolation(const edm::ParameterSet &iConfig)
DEFINE_FWK_MODULE(CosmicTrackingParticleSelector)