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
62
63
64std::string toString(SelectionMask);
65
67
69
70 public:
71 virtual ~IHIEventSelectionToolRun3() = default;
72
76 virtual bool noDetectorError(const xAOD::EventInfo* eventInfo) const = 0;
77
81 virtual bool noPUZDCvsFCal(HI::IonDataType when,
83 const xAOD::ZdcModuleContainer* zdcModules,
84 HI::PileupVariation variation) const = 0;
85
86 virtual float fcalEt(HI::IonDataType when,
87 const xAOD::HIEventShapeContainer* es) const = 0;
88
89 virtual float zdcE(HI::IonDataType when,
90 const xAOD::ZdcModuleContainer* zdcModules) const = 0;
91
93 virtual bool noPUZDCvsFCal(
94 IonDataType dataType, float fcalEt, float zdcE,
95 PileupVariation variation = PileupVariation::Nominal) const = 0;
96
99 virtual bool noPUFCalVsNtracks(
100 IonDataType dataType, const xAOD::HIEventShapeContainer* es,
101 const xAOD::TrackParticleContainer* tracks,
102 const xAOD::VertexContainer* vertices,
103 PileupVariation variation = PileupVariation::Nominal) const = 0;
104
105 virtual int nTrk(IonDataType dataType,
106 const xAOD::TrackParticleContainer* tracks,
107 const xAOD::VertexContainer* vertices) const = 0;
108
109 virtual bool noPUFCalVsNtracks(
110 IonDataType dataType, float fcalEt, int ntrk,
111 PileupVariation variation = PileupVariation::Nominal) const = 0;
112
115 const xAOD::ZdcModuleContainer* zdcModules,
116 HI::PileupVariation variation) const = 0;
117 virtual bool noPUZDCPresampler(
118 IonDataType dataType, float presamplerA, float presamplerC,
119 PileupVariation variation = PileupVariation::Nominal) const = 0;
120
122 virtual bool noPUOOVertexCuts(IonDataType dataType,
123 const xAOD::VertexContainer* vertices) const = 0;
124
126 virtual IonDataType toDataType(const xAOD::EventInfo* eventInfo) const = 0;
127
129 virtual unsigned int defaultMaskForPeriod(IonDataType period) const = 0;
130};
131
132} // namespace HI
133
134#endif
#define ASG_TOOL_INTERFACE(CLASSNAME)
virtual bool noPUZDCPresampler(HI::IonDataType when, const xAOD::ZdcModuleContainer *zdcModules, HI::PileupVariation variation) const =0
true if this is NOT pileup event
virtual unsigned int defaultMaskForPeriod(IonDataType period) const =0
provides default set of cuts for given period
virtual bool noPUFCalVsNtracks(IonDataType dataType, const xAOD::HIEventShapeContainer *es, const xAOD::TrackParticleContainer *tracks, const xAOD::VertexContainer *vertices, PileupVariation variation=PileupVariation::Nominal) const =0
true if this is NOT pileup event The fool performs track selection
virtual bool noPUFCalVsNtracks(IonDataType dataType, float fcalEt, int ntrk, PileupVariation variation=PileupVariation::Nominal) const =0
virtual bool noPUZDCvsFCal(IonDataType dataType, float fcalEt, float zdcE, PileupVariation variation=PileupVariation::Nominal) const =0
true if this is NOT pileup event
virtual bool noPUZDCvsFCal(HI::IonDataType when, const xAOD::HIEventShapeContainer *es, const xAOD::ZdcModuleContainer *zdcModules, HI::PileupVariation variation) const =0
true if this is NOT pileup event It computes necessary quantities and invokes method defined next to ...
virtual bool noPUZDCPresampler(IonDataType dataType, float presamplerA, float presamplerC, PileupVariation variation=PileupVariation::Nominal) const =0
virtual float fcalEt(HI::IonDataType when, const xAOD::HIEventShapeContainer *es) const =0
virtual bool noPUOOVertexCuts(IonDataType dataType, const xAOD::VertexContainer *vertices) const =0
true if this is NOT pileup event
virtual ~IHIEventSelectionToolRun3()=default
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.