ATLAS Offline Software
TauFilter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef GENERATORFILTERS_TAUFILTER_H
5 #define GENERATORFILTERS_TAUFILTER_H
6 
8 #include "GaudiKernel/ServiceHandle.h"
10 #include "CLHEP/Vector/LorentzVector.h"
11 
15 
16 namespace CLHEP {
17  class HepRandomEngine;
18 }
19 
20 class TauFilter : public GenFilter {
21 public:
22 
23  TauFilter(const std::string& name, ISvcLocator* pSvcLocator);
27 
28  CLHEP::HepLorentzVector sumDaughterNeutrinos(const HepMC::ConstGenParticlePtr& tau );
29 
30 private:
31 
32  CLHEP::HepRandomEngine* getRandomEngine(const std::string& streamName,
33  const EventContext& ctx) const;
34 
35  ServiceHandle<IAthRNGSvc> m_rndmSvc{this, "RndmSvc", "AthRNGSvc"};// Random number generator
36 
37  int m_Ntau;
38  double m_etaMaxe;
39  double m_etaMaxmu;
40  double m_etaMaxhad;
41 
42  double m_pTmine;
43  double m_pTminmu;
44  double m_pTminhad;
45 
46  // new option variables:
47  bool m_NewOpt;
48  int m_Nleptau;
49  int m_Nhadtau;
50  double m_etaMaxlep;
51  double m_pTminlep;
62 
63  // Maximum amount of Taus variables:
65  int m_maxNtau;
68 
69  //double m_eventsaccepted;
70  //double m_eventsrefused;
71 
72  double m_events[6];
73  double m_events_sel[6];
74 
75  double m_eventse;
76  double m_eventsmu;
77  double m_eventshad;
78 
79  double m_eventseacc;
80  double m_eventsmuacc;
82 
83 };
84 
85 #endif
TauFilter::m_maxNleptau
int m_maxNleptau
Definition: TauFilter.h:67
TauFilter::m_eventseacc
double m_eventseacc
Definition: TauFilter.h:79
TauFilter::filterInitialize
StatusCode filterInitialize()
Definition: TauFilter.cxx:49
TauFilter::TauFilter
TauFilter(const std::string &name, ISvcLocator *pSvcLocator)
Definition: TauFilter.cxx:10
TauFilter::m_pTminlep
double m_pTminlep
Definition: TauFilter.h:51
GenFilter.h
TauFilter::m_filterEventNumber
int m_filterEventNumber
Definition: TauFilter.h:61
TauFilter::m_events
double m_events[6]
Definition: TauFilter.h:72
TauFilter::m_maxNtau
int m_maxNtau
Definition: TauFilter.h:65
TauFilter::m_LooseRejectionFactor
double m_LooseRejectionFactor
Definition: TauFilter.h:56
TauFilter
Definition: TauFilter.h:20
TauFilter::m_Nleptau
int m_Nleptau
Definition: TauFilter.h:48
TauFilter::m_etaMaxhad
double m_etaMaxhad
Definition: TauFilter.h:40
TauFilter::m_eventshadacc
double m_eventshadacc
Definition: TauFilter.h:81
TauFilter::m_eventse
double m_eventse
Definition: TauFilter.h:75
TauFilter::m_pTminhad_tight_lead
double m_pTminhad_tight_lead
Definition: TauFilter.h:60
TauFilter::m_eventshad
double m_eventshad
Definition: TauFilter.h:77
GenFilter
Base class for event generator filtering modules.
Definition: GenFilter.h:30
TauFilter::m_pTminlep_tight_lead
double m_pTminlep_tight_lead
Definition: TauFilter.h:58
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TauFilter::m_eventsmu
double m_eventsmu
Definition: TauFilter.h:76
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
TauFilter::m_pTminhad_lead
double m_pTminhad_lead
Definition: TauFilter.h:53
TauFilter::m_Nhadtau
int m_Nhadtau
Definition: TauFilter.h:49
TauFilter::m_eventsmuacc
double m_eventsmuacc
Definition: TauFilter.h:80
TauFilter::m_pTmine
double m_pTmine
Definition: TauFilter.h:42
TauFilter::m_etaMaxmu
double m_etaMaxmu
Definition: TauFilter.h:39
TauFilter::sumDaughterNeutrinos
CLHEP::HepLorentzVector sumDaughterNeutrinos(const HepMC::ConstGenParticlePtr &tau)
Definition: TauFilter.cxx:85
HepMC::ConstGenParticlePtr
const GenParticle * ConstGenParticlePtr
Definition: GenParticle.h:38
TauFilter::m_maxNhadtau
int m_maxNhadtau
Definition: TauFilter.h:66
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TauFilter::m_useMaxNTaus
bool m_useMaxNTaus
Definition: TauFilter.h:64
TauFilter::m_pTminmu
double m_pTminmu
Definition: TauFilter.h:43
TauFilter::m_NewOpt
bool m_NewOpt
Definition: TauFilter.h:47
TauFilter::m_rndmSvc
ServiceHandle< IAthRNGSvc > m_rndmSvc
Definition: TauFilter.h:35
TauFilter::m_etaMaxe
double m_etaMaxe
Definition: TauFilter.h:38
AthenaPoolExample_Copy.streamName
string streamName
Definition: AthenaPoolExample_Copy.py:39
TauFilter::m_etaMaxlep
double m_etaMaxlep
Definition: TauFilter.h:50
TauFilter::getRandomEngine
CLHEP::HepRandomEngine * getRandomEngine(const std::string &streamName, const EventContext &ctx) const
Definition: TauFilter.cxx:339
TauFilter::m_Ntau
int m_Ntau
Definition: TauFilter.h:37
TauFilter::m_pTminhad
double m_pTminhad
Definition: TauFilter.h:44
TauFilter::m_ReverseFilter
bool m_ReverseFilter
Definition: TauFilter.h:54
TauFilter::m_pTminhad_tight
double m_pTminhad_tight
Definition: TauFilter.h:59
TauFilter::filterFinalize
StatusCode filterFinalize()
Definition: TauFilter.cxx:67
TauFilter::m_events_sel
double m_events_sel[6]
Definition: TauFilter.h:73
TauFilter::filterEvent
StatusCode filterEvent()
Definition: TauFilter.cxx:104
TauFilter::m_HasTightRegion
bool m_HasTightRegion
Definition: TauFilter.h:55
TauFilter::m_pTminlep_tight
double m_pTminlep_tight
Definition: TauFilter.h:57
TauFilter::m_pTminlep_lead
double m_pTminlep_lead
Definition: TauFilter.h:52
IAthRNGSvc.h
ServiceHandle< IAthRNGSvc >