ATLAS Offline Software
IInDetTrackTruthFilterTool.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 /*
3  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
4 */
5 
6 #ifndef INDETTRACKSYSTEMATICSTOOLS_IINDETTRACKTRUTHFILTERTOOL_H
7 #define INDETTRACKSYSTEMATICSTOOLS_IINDETTRACKTRUTHFILTERTOOL_H
8 
9 #include "AsgTools/IAsgTool.h"
12 #include <string>
13 
14 namespace InDet {
15 
16  class InDetTrackTruthOriginTool;
17 
22 
24  : public virtual asg::IAsgTool
25  , public virtual CP::ISystematicsTool
26  {
27 
28  public:
30 
31  virtual StatusCode initialize() = 0;
32  virtual void prepare() = 0; // not sure if/why this function is necessary - felix
33 
34  // "standard" accept method - if appropriate systematic is activated, will call mu-dependent version (below) using mu value from EventInfo, otherwise will use truth info
35  virtual bool accept(const xAOD::TrackParticle* track) const = 0;
36 
37  // This is a version of the accept method that takes a value of mu (i.e. mean interactions per crossing) in order to calculate a probability that a givent track at that mu is a fake,
38  // and so should be considered for being dropped for the fake systematic variation - this version does not rely on truth information
39  virtual bool accept(const xAOD::TrackParticle* track, float mu) const = 0;
40 
41  // implement the CP::ISystematicTool interface
42 
44  virtual bool isAffectedBySystematic( const CP::SystematicVariation& ) const = 0;
46  virtual CP::SystematicSet affectingSystematics() const = 0;
48  virtual CP::SystematicSet recommendedSystematics() const = 0;
50  virtual StatusCode applySystematicVariation( const CP::SystematicSet& ) = 0;
51 
52 
53  }; // class IInDetTrackTruthFilterTool
54 
55 } // namespace InDet
56 
57 #endif
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
InDet::IInDetTrackTruthFilterTool::accept
virtual bool accept(const xAOD::TrackParticle *track) const =0
InDet::IInDetTrackTruthFilterTool
Definition: IInDetTrackTruthFilterTool.h:26
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
ISystematicsTool.h
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition: Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
InDet::IInDetTrackTruthFilterTool::isAffectedBySystematic
virtual bool isAffectedBySystematic(const CP::SystematicVariation &) const =0
returns: whether the tool is affected by the systematic
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
InDet::IInDetTrackTruthFilterTool::applySystematicVariation
virtual StatusCode applySystematicVariation(const CP::SystematicSet &)=0
configure the tool to apply a given list of systematic variations
InDet::IInDetTrackTruthFilterTool::affectingSystematics
virtual CP::SystematicSet affectingSystematics() const =0
returns: list of systematics this tool can be affected by
CP::ISystematicsTool
Interface for all CP tools supporting systematic variations.
Definition: ISystematicsTool.h:32
TrackParticle.h
InDet::IInDetTrackTruthFilterTool::initialize
virtual StatusCode initialize()=0
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
InDet::IInDetTrackTruthFilterTool::prepare
virtual void prepare()=0
InDet::IInDetTrackTruthFilterTool::recommendedSystematics
virtual CP::SystematicSet recommendedSystematics() const =0
returns: list of recommended systematics to use with this tool
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53