ATLAS Offline Software
HeavyFlavorHadronFilter.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // --------------------------------------------------
6 //
7 // File: GeneratorFilters/HeavyFlavorHadronFilter.h
8 
9 // AuthorList:
10 // Marjorie Shapiro
11 //
12 // Based on SoftLeptonInJetFilter written by:
13 // A. Kaczmarska, F. Derue
14 
15 
16 #ifndef GENERATORFILTERSHEAVYFLAVORHADRONFILTER_H
17 #define GENERATORFILTERSHEAVYFLAVORHADRONFILTER_H
18 
20 
22 public:
23  HeavyFlavorHadronFilter(const std::string& fname, ISvcLocator* pSvcLocator);
24  virtual StatusCode filterInitialize();
25  virtual StatusCode filterFinalize();
26  virtual StatusCode filterEvent();
27 
28 private:
29  // Setable Properties:-
30 
31  double m_charmPtMin;
32  double m_bottomPtMin;
33  double m_charmEtaMax;
35  double m_cPtMin;
36  double m_bPtMin;
37  double m_cEtaMax;
38  double m_bEtaMax;
39  double m_PDGPtMin;
40  double m_PDGEtaMax;
42  double m_jetPtMin;
43  double m_jetEtaMax;
51  int m_PDGID;
53 
54  // Local Member Data:-
55  int m_NPass;
56  int m_Nevt;
57  int m_NbPass;
58  int m_NcPass;
62 
63  // Private Methods:=
64 
65  // decide whether given particle is a B-hadron
66  bool isBwithWeakDK(const int pID) const;
67  // decide whether given particle is a D-hadron
68  bool isDwithWeakDK(const int pID) const;
69 
70 };
71 
72 #endif
HeavyFlavorHadronFilter::m_PDGID
int m_PDGID
Definition: HeavyFlavorHadronFilter.h:51
HeavyFlavorHadronFilter::filterFinalize
virtual StatusCode filterFinalize()
Definition: HeavyFlavorHadronFilter.cxx:55
HeavyFlavorHadronFilter::m_RequireTruthJet
bool m_RequireTruthJet
Definition: HeavyFlavorHadronFilter.h:48
HeavyFlavorHadronFilter::m_charmEtaMax
double m_charmEtaMax
Definition: HeavyFlavorHadronFilter.h:33
HeavyFlavorHadronFilter::m_PDGPtMin
double m_PDGPtMin
Definition: HeavyFlavorHadronFilter.h:39
HeavyFlavorHadronFilter::isDwithWeakDK
bool isDwithWeakDK(const int pID) const
Definition: HeavyFlavorHadronFilter.cxx:225
HeavyFlavorHadronFilter::m_NDHadronPass
int m_NDHadronPass
Definition: HeavyFlavorHadronFilter.h:60
GenFilter.h
HeavyFlavorHadronFilter::m_cPtMin
double m_cPtMin
Definition: HeavyFlavorHadronFilter.h:35
HeavyFlavorHadronFilter::m_NPDGIDPass
int m_NPDGIDPass
Definition: HeavyFlavorHadronFilter.h:61
HeavyFlavorHadronFilter::m_jetEtaMax
double m_jetEtaMax
Definition: HeavyFlavorHadronFilter.h:43
HeavyFlavorHadronFilter::filterEvent
virtual StatusCode filterEvent()
Definition: HeavyFlavorHadronFilter.cxx:66
HeavyFlavorHadronFilter::m_RequestBottom
bool m_RequestBottom
Definition: HeavyFlavorHadronFilter.h:45
HeavyFlavorHadronFilter::m_Nevt
int m_Nevt
Definition: HeavyFlavorHadronFilter.h:56
GenFilter
Base class for event generator filtering modules.
Definition: GenFilter.h:30
HeavyFlavorHadronFilter::m_NPass
int m_NPass
Definition: HeavyFlavorHadronFilter.h:55
HeavyFlavorHadronFilter::m_PDGEtaMax
double m_PDGEtaMax
Definition: HeavyFlavorHadronFilter.h:40
HeavyFlavorHadronFilter::HeavyFlavorHadronFilter
HeavyFlavorHadronFilter(const std::string &fname, ISvcLocator *pSvcLocator)
Definition: HeavyFlavorHadronFilter.cxx:12
HeavyFlavorHadronFilter::m_RequestSpecificPDGID
bool m_RequestSpecificPDGID
Definition: HeavyFlavorHadronFilter.h:49
HeavyFlavorHadronFilter
Definition: HeavyFlavorHadronFilter.py:1
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
HeavyFlavorHadronFilter::filterInitialize
virtual StatusCode filterInitialize()
Definition: HeavyFlavorHadronFilter.cxx:43
HeavyFlavorHadronFilter::m_cEtaMax
double m_cEtaMax
Definition: HeavyFlavorHadronFilter.h:37
HeavyFlavorHadronFilter::m_jetPtMin
double m_jetPtMin
Definition: HeavyFlavorHadronFilter.h:42
HeavyFlavorHadronFilter::m_bottomEtaMax
double m_bottomEtaMax
Definition: HeavyFlavorHadronFilter.h:34
HeavyFlavorHadronFilter::m_RequestCharm
bool m_RequestCharm
Definition: HeavyFlavorHadronFilter.h:44
HeavyFlavorHadronFilter::m_bEtaMax
double m_bEtaMax
Definition: HeavyFlavorHadronFilter.h:38
HeavyFlavorHadronFilter::m_bottomPtMin
double m_bottomPtMin
Definition: HeavyFlavorHadronFilter.h:32
HeavyFlavorHadronFilter::m_Request_bQuark
bool m_Request_bQuark
Definition: HeavyFlavorHadronFilter.h:47
HeavyFlavorHadronFilter::m_PDGAntiParticleToo
bool m_PDGAntiParticleToo
Definition: HeavyFlavorHadronFilter.h:50
HeavyFlavorHadronFilter::isBwithWeakDK
bool isBwithWeakDK(const int pID) const
Definition: HeavyFlavorHadronFilter.cxx:209
HeavyFlavorHadronFilter::m_Request_cQuark
bool m_Request_cQuark
Definition: HeavyFlavorHadronFilter.h:46
HeavyFlavorHadronFilter::m_bPtMin
double m_bPtMin
Definition: HeavyFlavorHadronFilter.h:36
HeavyFlavorHadronFilter::m_NcPass
int m_NcPass
Definition: HeavyFlavorHadronFilter.h:58
python.AthDsoLogger.fname
string fname
Definition: AthDsoLogger.py:67
HeavyFlavorHadronFilter::m_NBHadronPass
int m_NBHadronPass
Definition: HeavyFlavorHadronFilter.h:59
HeavyFlavorHadronFilter::m_TruthJetContainerName
std::string m_TruthJetContainerName
Definition: HeavyFlavorHadronFilter.h:52
HeavyFlavorHadronFilter::m_deltaRFromTruth
double m_deltaRFromTruth
Definition: HeavyFlavorHadronFilter.h:41
HeavyFlavorHadronFilter::m_NbPass
int m_NbPass
Definition: HeavyFlavorHadronFilter.h:57
HeavyFlavorHadronFilter::m_charmPtMin
double m_charmPtMin
Definition: HeavyFlavorHadronFilter.h:31