CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Attributes
TauDiscriminationAgainstElectronDeadECAL< TauType, TauDiscriminator > Class Template Reference
Inheritance diagram for TauDiscriminationAgainstElectronDeadECAL< TauType, TauDiscriminator >:
TauDiscriminationProducerBase< TauType, TauDiscriminator > edm::stream::EDProducer<>

Public Types

typedef std::vector< TauType > TauCollection
 
typedef edm::Ref< TauCollectionTauRef
 
- Public Types inherited from TauDiscriminationProducerBase< TauType, TauDiscriminator >
typedef std::vector< TauType > TauCollection
 
typedef edm::Ref< TauCollectionTauRef
 
typedef edm::RefProd< TauCollectionTauRefProd
 
- Public Types inherited from edm::stream::EDProducer<>
typedef CacheContexts< T... > CacheTypes
 
typedef CacheTypes::GlobalCache GlobalCache
 
typedef AbilityChecker< T... > HasAbility
 
typedef CacheTypes::LuminosityBlockCache LuminosityBlockCache
 
typedef LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCacheLuminosityBlockContext
 
typedef CacheTypes::LuminosityBlockSummaryCache LuminosityBlockSummaryCache
 
typedef CacheTypes::RunCache RunCache
 
typedef RunContextT< RunCache, GlobalCacheRunContext
 
typedef CacheTypes::RunSummaryCache RunSummaryCache
 

Public Member Functions

void beginEvent (const edm::Event &evt, const edm::EventSetup &es) override
 
double discriminate (const TauRef &tau) const override
 
 TauDiscriminationAgainstElectronDeadECAL (const edm::ParameterSet &cfg)
 
 ~TauDiscriminationAgainstElectronDeadECAL () override
 
- Public Member Functions inherited from TauDiscriminationProducerBase< TauType, TauDiscriminator >
virtual void endEvent (edm::Event &)
 
void produce (edm::Event &, const edm::EventSetup &) override
 
 TauDiscriminationProducerBase (const edm::ParameterSet &iConfig)
 
 TauDiscriminationProducerBase ()
 
 ~TauDiscriminationProducerBase () override
 
- Public Member Functions inherited from edm::stream::EDProducer<>
 EDProducer ()=default
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () const final
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from TauDiscriminationProducerBase< TauType, TauDiscriminator >
static void fillProducerDescriptions (edm::ParameterSetDescription &desc)
 
static std::string getTauTypeString ()
 helper method to retrieve tau type name, e.g. to build correct cfi getter More...
 

Private Attributes

AntiElectronDeadECAL antiElectronDeadECAL_
 
std::string moduleLabel_
 
int verbosity_
 

Additional Inherited Members

- Protected Attributes inherited from TauDiscriminationProducerBase< TauType, TauDiscriminator >
std::string moduleLabel_
 
double prediscriminantFailValue_
 
edm::EDGetTokenT< TauCollectionTau_token
 
size_t tauIndex_
 
edm::InputTag TauProducer_
 

Detailed Description

template<class TauType, class TauDiscriminator>
class TauDiscriminationAgainstElectronDeadECAL< TauType, TauDiscriminator >

Template class for producing PFTau and PATTau discriminators which flag tau candidates reconstructed near dead ECAL channels, in order to reduce e -> tau fakes not rejected by anti-e MVA discriminator

The motivation for this flag is this presentation: https://indico.cern.ch/getFile.py/access?contribId=0&resId=0&materialId=slides&confId=177223

Authors
Lauri Andreas Wendland, Christian Veelken

Definition at line 24 of file TauDiscriminationAgainstElectronDeadECAL.cc.

Member Typedef Documentation

template<class TauType , class TauDiscriminator >
typedef std::vector<TauType> TauDiscriminationAgainstElectronDeadECAL< TauType, TauDiscriminator >::TauCollection

Definition at line 26 of file TauDiscriminationAgainstElectronDeadECAL.cc.

template<class TauType , class TauDiscriminator >
typedef edm::Ref<TauCollection> TauDiscriminationAgainstElectronDeadECAL< TauType, TauDiscriminator >::TauRef

Definition at line 27 of file TauDiscriminationAgainstElectronDeadECAL.cc.

Constructor & Destructor Documentation

template<class TauType , class TauDiscriminator >
TauDiscriminationAgainstElectronDeadECAL< TauType, TauDiscriminator >::TauDiscriminationAgainstElectronDeadECAL ( const edm::ParameterSet cfg)
inlineexplicit
template<class TauType , class TauDiscriminator >
TauDiscriminationAgainstElectronDeadECAL< TauType, TauDiscriminator >::~TauDiscriminationAgainstElectronDeadECAL ( )
inlineoverride

Definition at line 33 of file TauDiscriminationAgainstElectronDeadECAL.cc.

33 {}

Member Function Documentation

template<class TauType , class TauDiscriminator >
void TauDiscriminationAgainstElectronDeadECAL< TauType, TauDiscriminator >::beginEvent ( const edm::Event evt,
const edm::EventSetup es 
)
inlineoverridevirtual
template<class TauType , class TauDiscriminator >
double TauDiscriminationAgainstElectronDeadECAL< TauType, TauDiscriminator >::discriminate ( const TauRef tau) const
inlineoverridevirtual

Implements TauDiscriminationProducerBase< TauType, TauDiscriminator >.

Definition at line 37 of file TauDiscriminationAgainstElectronDeadECAL.cc.

References TauDiscriminationAgainstElectronDeadECAL< TauType, TauDiscriminator >::antiElectronDeadECAL_, mvaPFMET_leptons_cfi::discriminator, TauDiscriminationAgainstElectronDeadECAL< TauType, TauDiscriminator >::fillDescriptions(), edm::Ref< C, T, F >::get(), TauDiscriminationProducerBase< TauType, TauDiscriminator >::getTauTypeString(), TauDiscriminationAgainstElectronDeadECAL< TauType, TauDiscriminator >::moduleLabel_, and TauDiscriminationAgainstElectronDeadECAL< TauType, TauDiscriminator >::verbosity_.

37  {
38  if (verbosity_) {
39  edm::LogPrint(this->getTauTypeString() + "AgainstEleDeadECAL")
40  << "<" + this->getTauTypeString() + "AgainstElectronDeadECAL::discriminate>:";
41  edm::LogPrint(this->getTauTypeString() + "AgainstEleDeadECAL") << " moduleLabel = " << moduleLabel_;
42  edm::LogPrint(this->getTauTypeString() + "AgainstEleDeadECAL")
43  << " tau: Pt = " << tau->pt() << ", eta = " << tau->eta() << ", phi = " << tau->phi();
44  }
45  double discriminator = 1.;
46  if (antiElectronDeadECAL_(tau.get())) {
47  discriminator = 0.;
48  }
49  if (verbosity_) {
50  edm::LogPrint(this->getTauTypeString() + "AgainstEleDeadECAL") << "--> discriminator = " << discriminator;
51  }
52  return discriminator;
53  }
static std::string getTauTypeString()
helper method to retrieve tau type name, e.g. to build correct cfi getter
template<class TauType , class TauDiscriminator >
void TauDiscriminationAgainstElectronDeadECAL< TauType, TauDiscriminator >::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 65 of file TauDiscriminationAgainstElectronDeadECAL.cc.

References edm::ParameterSetDescription::add(), edm::ConfigurationDescriptions::addWithDefaultLabel(), and TauDiscriminationProducerBase< TauType, TauDiscriminator >::fillProducerDescriptions().

Referenced by TauDiscriminationAgainstElectronDeadECAL< TauType, TauDiscriminator >::discriminate().

66  {
67  // {pfReco,pat}TauDiscriminationAgainstElectronDeadECAL
69 
70  desc.add<double>("dR", 0.08);
71  desc.add<unsigned int>("minStatus", 12);
72  desc.add<bool>("extrapolateToECalEntrance", true);
73  desc.add<int>("verbosity", 0);
74 
76  desc); // inherited from the base-class
77 
78  descriptions.addWithDefaultLabel(desc);
79 }
void addWithDefaultLabel(ParameterSetDescription const &psetDescription)
static void fillProducerDescriptions(edm::ParameterSetDescription &desc)
ParameterDescriptionBase * add(U const &iLabel, T const &value)

Member Data Documentation

template<class TauType , class TauDiscriminator >
AntiElectronDeadECAL TauDiscriminationAgainstElectronDeadECAL< TauType, TauDiscriminator >::antiElectronDeadECAL_
private
template<class TauType , class TauDiscriminator >
std::string TauDiscriminationAgainstElectronDeadECAL< TauType, TauDiscriminator >::moduleLabel_
private
template<class TauType , class TauDiscriminator >
int TauDiscriminationAgainstElectronDeadECAL< TauType, TauDiscriminator >::verbosity_
private