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"
13
14namespace HI {
26
27std::string toString(IonDataType);
28
29enum class PileupVariation : uint8_t { Nominal = 0, Tight, Loose };
30
31std::string toString(PileupVariation);
32
33
34constexpr unsigned int bit(int n) {
35 return 1 << n;
36}
37
38// never change bits assignment, feel free to add
60
61
62
63
65
67
68 public:
69 virtual ~IHIEventSelectionToolRun3() = default;
70
74 virtual bool noDetectorError(const xAOD::EventInfo* eventInfo) const = 0;
75
78 virtual bool puZDCvsFCal(HI::IonDataType when,
80 const xAOD::ZdcModuleContainer* zdcModules,
81 HI::PileupVariation variation) const = 0;
82
84 virtual bool puZDCvsFCal(
85 IonDataType dataType, float fcalEt, float zdcE,
86 PileupVariation variation = PileupVariation::Nominal) const = 0;
87
89 virtual bool puNtrkvsFCal(
90 IonDataType dataType, float fcalEt, int ntrk,
91 PileupVariation variation = PileupVariation::Nominal) const = 0;
92
106 virtual bool puZDCPSvsFCal(
107 IonDataType dataType, float fcalEt, float presamplerA, float presamplerC,
108 PileupVariation variation = PileupVariation::Nominal) const = 0;
109
111 virtual bool puOOVertexCuts(IonDataType dataType,
112 const xAOD::VertexContainer* vertices) const = 0;
113
115 virtual IonDataType toDataType(const xAOD::EventInfo* eventInfo) const = 0;
116};
117
118} // namespace HI
119
120#endif
#define ASG_TOOL_INTERFACE(CLASSNAME)
virtual bool puNtrkvsFCal(IonDataType dataType, float fcalEt, int ntrk, PileupVariation variation=PileupVariation::Nominal) const =0
true if this is pileup event
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 puZDCvsFCal(IonDataType dataType, float fcalEt, float zdcE, PileupVariation variation=PileupVariation::Nominal) const =0
true if this is pileup event
virtual bool puOOVertexCuts(IonDataType dataType, const xAOD::VertexContainer *vertices) const =0
true if this is pileup event
virtual ~IHIEventSelectionToolRun3()=default
virtual bool puZDCPSvsFCal(IonDataType dataType, float fcalEt, float presamplerA, float presamplerC, PileupVariation variation=PileupVariation::Nominal) const =0
true if this is pileup event Code sample to obtain presampler energies Float_t PreSamplerAmp_A = 0; F...
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".
HIEventShapeContainer_v2 HIEventShapeContainer
Define the latest version of the container.