ATLAS Offline Software
TTbarPlusHeavyFlavorFilterTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
14 #ifndef DerivationFrameworkTop_TTbarPlusHeavyFlavorFilterTool_H
15 #define DerivationFrameworkTop_TTbarPlusHeavyFlavorFilterTool_H
16 
19 
20 
21 namespace DerivationFramework{
22 
23 static const InterfaceID IID_TTbarPlusHeavyFlavorFilterTool("TTbarPlusHeavyFlavorFilterTool", 1, 0);
24 
26 public:
27  TTbarPlusHeavyFlavorFilterTool(const std::string& t, const std::string& n, const IInterface* p);
29 
30  virtual StatusCode initialize();
31  virtual StatusCode finalize();
32  int filterFlag() const;
33 
34  static const InterfaceID& interfaceID() { return IID_TTbarPlusHeavyFlavorFilterTool; }
35 
36 
37 private:
38 
39 
41 
42  std::string m_mcName;
43 
46 
47  double m_bPtMinCut;
48  double m_bEtaMaxCut;
49  double m_cPtMinCut;
50  double m_cEtaMaxCut;
51 
54 
57 
58 
59  bool passBSelection(const xAOD::TruthParticle* part) const;
60  bool passCSelection(const xAOD::TruthParticle* part) const;
61 
62  bool isInitialHadron(const xAOD::TruthParticle* part) const;
63  bool isFinalHadron(const xAOD::TruthParticle* part) const;
64 
65  bool isQuarkFromHadron(const xAOD::TruthParticle* part) const;
66  bool isCHadronFromB(const xAOD::TruthParticle* part) const;
67 
70  bool isLooping(const xAOD::TruthParticle* part, std::set<const xAOD::TruthParticle*> init_part = std::set<const xAOD::TruthParticle*>()) const;
71 
72  const xAOD::TruthParticle* findInitial(const xAOD::TruthParticle* part, bool looping) const;
73 
74  bool isFromTop(const xAOD::TruthParticle* part, bool looping) const;
75  bool isDirectlyFromTop(const xAOD::TruthParticle* part) const;
76  bool isDirectlyFromWTop(const xAOD::TruthParticle* part, bool looping) const;
77 
78 };
79 
80 
81 }
82 
83 #endif
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::m_bMultiCut
int m_bMultiCut
Definition: TTbarPlusHeavyFlavorFilterTool.h:52
LArG4FSStartPointFilter.part
part
Definition: LArG4FSStartPointFilter.py:21
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::passBSelection
bool passBSelection(const xAOD::TruthParticle *part) const
Definition: TTbarPlusHeavyFlavorFilterTool.cxx:157
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::TTbarPlusHeavyFlavorFilterTool
TTbarPlusHeavyFlavorFilterTool(const std::string &t, const std::string &n, const IInterface *p)
Definition: TTbarPlusHeavyFlavorFilterTool.cxx:10
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::m_usePileUp
bool m_usePileUp
Definition: TTbarPlusHeavyFlavorFilterTool.h:44
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::isDirectlyFromTop
bool isDirectlyFromTop(const xAOD::TruthParticle *part) const
Definition: TTbarPlusHeavyFlavorFilterTool.cxx:267
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::isLooping
bool isLooping(const xAOD::TruthParticle *part, std::set< const xAOD::TruthParticle * > init_part=std::set< const xAOD::TruthParticle * >()) const
init_part needed to detect looping graphs (sherpa) and to switch on using barcode to resolve it witho...
Definition: TTbarPlusHeavyFlavorFilterTool.cxx:240
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::findInitial
const xAOD::TruthParticle * findInitial(const xAOD::TruthParticle *part, bool looping) const
Definition: TTbarPlusHeavyFlavorFilterTool.cxx:250
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::m_excludeCFromTop
bool m_excludeCFromTop
Definition: TTbarPlusHeavyFlavorFilterTool.h:56
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::m_cEtaMaxCut
double m_cEtaMaxCut
Definition: TTbarPlusHeavyFlavorFilterTool.h:50
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::filterFlag
int filterFlag() const
Definition: TTbarPlusHeavyFlavorFilterTool.cxx:42
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::m_useFinalStateHadrons
bool m_useFinalStateHadrons
Definition: TTbarPlusHeavyFlavorFilterTool.h:45
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::isInitialHadron
bool isInitialHadron(const xAOD::TruthParticle *part) const
Definition: TTbarPlusHeavyFlavorFilterTool.cxx:178
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:41
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::isFinalHadron
bool isFinalHadron(const xAOD::TruthParticle *part) const
Definition: TTbarPlusHeavyFlavorFilterTool.cxx:194
AthAlgTool.h
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DerivationFramework::TTbarPlusHeavyFlavorFilterTool
Definition: TTbarPlusHeavyFlavorFilterTool.h:25
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::m_cPtMinCut
double m_cPtMinCut
Definition: TTbarPlusHeavyFlavorFilterTool.h:49
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::finalize
virtual StatusCode finalize()
Definition: TTbarPlusHeavyFlavorFilterTool.cxx:37
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::m_excludeBFromTop
bool m_excludeBFromTop
Definition: TTbarPlusHeavyFlavorFilterTool.h:55
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::m_mcName
std::string m_mcName
properties
Definition: TTbarPlusHeavyFlavorFilterTool.h:42
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::passCSelection
bool passCSelection(const xAOD::TruthParticle *part) const
Definition: TTbarPlusHeavyFlavorFilterTool.cxx:169
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::isQuarkFromHadron
bool isQuarkFromHadron(const xAOD::TruthParticle *part) const
Definition: TTbarPlusHeavyFlavorFilterTool.cxx:208
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::interfaceID
static const InterfaceID & interfaceID()
Definition: TTbarPlusHeavyFlavorFilterTool.h:34
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::m_bPtMinCut
double m_bPtMinCut
Definition: TTbarPlusHeavyFlavorFilterTool.h:47
AthAlgTool
Definition: AthAlgTool.h:26
TruthEventContainer.h
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::initialize
virtual StatusCode initialize()
Definition: TTbarPlusHeavyFlavorFilterTool.cxx:32
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::m_bEtaMaxCut
double m_bEtaMaxCut
Definition: TTbarPlusHeavyFlavorFilterTool.h:48
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::~TTbarPlusHeavyFlavorFilterTool
virtual ~TTbarPlusHeavyFlavorFilterTool()
Definition: TTbarPlusHeavyFlavorFilterTool.cxx:30
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::isFromTop
bool isFromTop(const xAOD::TruthParticle *part, bool looping) const
Definition: TTbarPlusHeavyFlavorFilterTool.cxx:262
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::isDirectlyFromWTop
bool isDirectlyFromWTop(const xAOD::TruthParticle *part, bool looping) const
Definition: TTbarPlusHeavyFlavorFilterTool.cxx:277
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::isCHadronFromB
bool isCHadronFromB(const xAOD::TruthParticle *part) const
Definition: TTbarPlusHeavyFlavorFilterTool.cxx:222
DerivationFramework::TTbarPlusHeavyFlavorFilterTool::m_cMultiCut
int m_cMultiCut
Definition: TTbarPlusHeavyFlavorFilterTool.h:53