ATLAS Offline Software
Loading...
Searching...
No Matches
HIEventSelectionToolRun3.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_HIEVENTSELECTIONTOOLRUN3_H
6#define HIEVENTUTILS_HIEVENTSELECTIONTOOLRUN3_H
7
8#include "AsgTools/AsgTool.h"
12#include "TH1D.h"
13
14namespace HI {
15
17 public virtual asg::AsgTool {
19
20 public:
21 HIEventSelectionToolRun3(const std::string& name);
22
23 virtual ~HIEventSelectionToolRun3() = default;
24 virtual StatusCode initialize() override;
25 virtual bool noDetectorError(const xAOD::EventInfo* eventInfo) const override;
26
27 virtual bool noPUZDCvsFCal(HI::IonDataType period,
29 const xAOD::ZdcModuleContainer* zdcModules,
30 HI::PileupVariation variation) const override;
31
32 virtual float fcalEt(HI::IonDataType period,
33 const xAOD::HIEventShapeContainer* es) const override;
34
35 virtual float zdcE(HI::IonDataType period,
36 const xAOD::ZdcModuleContainer* zdcModules) const override;
37
38 virtual bool noPUZDCvsFCal(
39 IonDataType dataType, float fcalEt, float zdcE,
40 PileupVariation variation = PileupVariation::Nominal) const override;
41
42 virtual bool noPUFCalVsNtracks(
43 IonDataType dataType, const xAOD::HIEventShapeContainer* es,
44 const xAOD::TrackParticleContainer* tracks,
45 const xAOD::VertexContainer* vertices,
46 PileupVariation variation = PileupVariation::Nominal) const override;
47
48 virtual int nTrk(HI::IonDataType dataType,
49 const xAOD::TrackParticleContainer* tracks,
50 const xAOD::VertexContainer* vertices,
51 const double min_pt_cut = -1) const override;
52
53 virtual bool noPUFCalVsNtracks(
54 IonDataType dataType, float fcalEt, int ntrk,
55 PileupVariation variation = PileupVariation::Nominal) const override;
56
57 virtual bool noPUZDCPresampler(HI::IonDataType period,
58 const xAOD::ZdcModuleContainer* zdcModules,
59 HI::PileupVariation variation) const override;
60
61 virtual bool noPUZDCPresampler(
62 IonDataType dataType, float presamplerA, float presamplerC,
63 PileupVariation variation = PileupVariation::Nominal) const override;
64
65 virtual std::pair<float, float> ZDCPresamplerAmps(
66 const xAOD::ZdcModuleContainer* zdcModules) const override;
67
68 virtual bool noPUOOVertexCuts(
69 IonDataType dataType,
70 const xAOD::VertexContainer* vertices) const override;
71
72 virtual bool tcInFCalPresent(
73 IonDataType dataType,
74 const xAOD::CaloClusterContainer* topos) const override;
75
76 virtual IonDataType toDataType(
77 const xAOD::EventInfo* eventInfo) const override;
78
79 virtual unsigned int defaultMaskForPeriod(IonDataType period) const override;
80
81 private:
82 ToolHandle<InDet::IInDetTrackSelectionTool> m_trackSelectionTool{
83 this, "TrackSelectionTool", "", ""};
84
85 std::unique_ptr<TH1D> m_ZDCEt_UpperCut_5p5Sigma_OO;
86 std::unique_ptr<TH1D> m_ZDCEt_UpperCut_4p0Sigma_NeNe;
87 std::unique_ptr<TH1D> m_ZDCEt_UpperCut_5Sigma_PbPb2023;
88
89 float zdcCutValue(IonDataType, float fcalEt, PileupVariation) const;
90
92 IonDataType runNumberToDataType(uint32_t run) const;
93};
94
95} // namespace HI
96#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
virtual float zdcE(HI::IonDataType period, const xAOD::ZdcModuleContainer *zdcModules) const override
virtual std::pair< float, float > ZDCPresamplerAmps(const xAOD::ZdcModuleContainer *zdcModules) const override
obtain presampler amplitudes
virtual ~HIEventSelectionToolRun3()=default
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
virtual int nTrk(HI::IonDataType dataType, const xAOD::TrackParticleContainer *tracks, const xAOD::VertexContainer *vertices, const double min_pt_cut=-1) const override
virtual float fcalEt(HI::IonDataType period, const xAOD::HIEventShapeContainer *es) const override
float zdcCutValue(IonDataType, float fcalEt, PileupVariation) const
ToolHandle< InDet::IInDetTrackSelectionTool > m_trackSelectionTool
virtual unsigned int defaultMaskForPeriod(IonDataType period) const override
provides default set of cuts for given period
std::unique_ptr< TH1D > m_ZDCEt_UpperCut_4p0Sigma_NeNe
virtual bool noPUOOVertexCuts(IonDataType dataType, const xAOD::VertexContainer *vertices) const override
true if this is NOT pileup event
virtual bool noDetectorError(const xAOD::EventInfo *eventInfo) const override
Checks basic event flags.
float ntrkCutValue(IonDataType, float fcalEt, PileupVariation) const
virtual bool noPUFCalVsNtracks(IonDataType dataType, const xAOD::HIEventShapeContainer *es, const xAOD::TrackParticleContainer *tracks, const xAOD::VertexContainer *vertices, PileupVariation variation=PileupVariation::Nominal) const override
true if this is NOT pileup event The fool performs track selection
virtual bool tcInFCalPresent(IonDataType dataType, const xAOD::CaloClusterContainer *topos) const override
checks if topo cluster (TC) presence in FCal requirement passes
virtual bool noPUZDCvsFCal(HI::IonDataType period, const xAOD::HIEventShapeContainer *es, const xAOD::ZdcModuleContainer *zdcModules, HI::PileupVariation variation) const override
true if this is NOT pileup event It computes necessary quantities and invokes method defined next to ...
virtual IonDataType toDataType(const xAOD::EventInfo *eventInfo) const override
translates info in EV into HI data type
HIEventSelectionToolRun3(const std::string &name)
IonDataType runNumberToDataType(uint32_t run) const
std::unique_ptr< TH1D > m_ZDCEt_UpperCut_5p5Sigma_OO
std::unique_ptr< TH1D > m_ZDCEt_UpperCut_5Sigma_PbPb2023
virtual bool noPUZDCPresampler(HI::IonDataType period, const xAOD::ZdcModuleContainer *zdcModules, HI::PileupVariation variation) const override
true if this is NOT pileup event
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
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.
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.
int run(int argc, char *argv[])