ATLAS Offline Software
Loading...
Searching...
No Matches
IHIEventSelectionToolRun3.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef HIEVENTUTILS_IHIEVENTSELECTIONTOOLRUN3_H__
6#define HIEVENTUTILS_IHIEVENTSELECTIONTOOLRUN3_H__
7
8#include "AsgTools/IAsgTool.h"
14
15namespace HI {
27
28std::string toString(IonDataType);
29
30enum class PileupVariation : uint8_t { Nominal = 0, Tight, Loose };
31
32std::string toString(PileupVariation);
33
34constexpr unsigned int bit(int n) {
35 return 1 << n;
36}
37
38// never change bits assignment, feel free to add
61
62std::string toString(SelectionMask);
63
65
67
68 public:
69 virtual ~IHIEventSelectionToolRun3() = default;
70
74 virtual bool noDetectorError(const xAOD::EventInfo* eventInfo) const = 0;
75
79 virtual bool puZDCvsFCal(HI::IonDataType when,
81 const xAOD::ZdcModuleContainer* zdcModules,
82 HI::PileupVariation variation) const = 0;
83
84 virtual float fcalEt(HI::IonDataType when,
85 const xAOD::HIEventShapeContainer* es) const = 0;
86
87 virtual float zdcE(HI::IonDataType when,
88 const xAOD::ZdcModuleContainer* zdcModules) const = 0;
89
91 virtual bool puZDCvsFCal(
92 IonDataType dataType, float fcalEt, float zdcE,
93 PileupVariation variation = PileupVariation::Nominal) const = 0;
94
97 virtual bool puFCalVsNtracks(
98 IonDataType dataType, const xAOD::HIEventShapeContainer* es,
99 const xAOD::TrackParticleContainer* tracks,
100 const xAOD::VertexContainer* vertices,
101 PileupVariation variation = PileupVariation::Nominal) const = 0;
102
103 virtual int nTrk(IonDataType dataType,
104 const xAOD::TrackParticleContainer* tracks,
105 const xAOD::VertexContainer* vertices) const = 0;
106
107 virtual bool puFCalVsNtracks(
108 IonDataType dataType, float fcalEt, int ntrk,
109 PileupVariation variation = PileupVariation::Nominal) const = 0;
110
113 const xAOD::ZdcModuleContainer* zdcModules,
114 HI::PileupVariation variation) const = 0;
115 virtual bool puZDCPresampler(
116 IonDataType dataType, float presamplerA, float presamplerC,
117 PileupVariation variation = PileupVariation::Nominal) const = 0;
118
120 virtual bool puOOVertexCuts(IonDataType dataType,
121 const xAOD::VertexContainer* vertices) const = 0;
122
124 virtual IonDataType toDataType(const xAOD::EventInfo* eventInfo) const = 0;
125
127 virtual unsigned int defaultMaskForPeriod(IonDataType period) const = 0;
128};
129
130} // namespace HI
131
132#endif
#define ASG_TOOL_INTERFACE(CLASSNAME)
virtual bool puZDCPresampler(IonDataType dataType, float presamplerA, float presamplerC, PileupVariation variation=PileupVariation::Nominal) const =0
virtual unsigned int defaultMaskForPeriod(IonDataType period) const =0
provides default set of cuts for given period
virtual bool puZDCvsFCal(HI::IonDataType when, const xAOD::HIEventShapeContainer *es, const xAOD::ZdcModuleContainer *zdcModules, HI::PileupVariation variation) const =0
true if this is pileup event It computes necessary quantities and invokes method defined next to perf...
virtual bool puZDCPresampler(HI::IonDataType when, const xAOD::ZdcModuleContainer *zdcModules, HI::PileupVariation variation) const =0
true if this is not pileup event
virtual bool puZDCvsFCal(IonDataType dataType, float fcalEt, float zdcE, PileupVariation variation=PileupVariation::Nominal) const =0
true if this is pileup event
virtual bool puFCalVsNtracks(IonDataType dataType, float fcalEt, int ntrk, PileupVariation variation=PileupVariation::Nominal) const =0
virtual bool puOOVertexCuts(IonDataType dataType, const xAOD::VertexContainer *vertices) const =0
true if this is pileup event
virtual float fcalEt(HI::IonDataType when, const xAOD::HIEventShapeContainer *es) const =0
virtual ~IHIEventSelectionToolRun3()=default
virtual bool puFCalVsNtracks(IonDataType dataType, const xAOD::HIEventShapeContainer *es, const xAOD::TrackParticleContainer *tracks, const xAOD::VertexContainer *vertices, PileupVariation variation=PileupVariation::Nominal) const =0
true if this is pileup event The fool performs track selection
virtual float zdcE(HI::IonDataType when, const xAOD::ZdcModuleContainer *zdcModules) const =0
virtual int nTrk(IonDataType dataType, const xAOD::TrackParticleContainer *tracks, const xAOD::VertexContainer *vertices) const =0
virtual IonDataType toDataType(const xAOD::EventInfo *eventInfo) const =0
translates info in EV into HI data type
virtual bool noDetectorError(const xAOD::EventInfo *eventInfo) const =0
Checks basic event flags.
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
constexpr unsigned int bit(int n)
std::string toString(IonDataType)
ZdcModuleContainer_v1 ZdcModuleContainer
EventInfo_v1 EventInfo
Definition of the latest event info version.
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
HIEventShapeContainer_v2 HIEventShapeContainer
Define the latest version of the container.