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
52 ) const override;
53
54 virtual bool noPUFCalVsNtracks(
55 IonDataType dataType, float fcalEt, int ntrk,
56 PileupVariation variation = PileupVariation::Nominal) const override;
57
58 virtual bool noPUZDCPresampler(HI::IonDataType period,
59 const xAOD::ZdcModuleContainer* zdcModules,
60 HI::PileupVariation variation) const override;
61
62 virtual bool noPUZDCPresampler(
63 IonDataType dataType, float presamplerA, float presamplerC,
64 PileupVariation variation = PileupVariation::Nominal) const override;
65
66 virtual std::pair<float, float> ZDCPresamplerAmps(
67 const xAOD::ZdcModuleContainer* zdcModules) const override;
68
69 virtual bool noPUOOVertexCuts(
70 IonDataType dataType,
71 const xAOD::VertexContainer* vertices) const override;
72
73 virtual IonDataType toDataType(
74 const xAOD::EventInfo* eventInfo) const override;
75
76 virtual unsigned int defaultMaskForPeriod(IonDataType period) const override;
77
78 private:
79 ToolHandle<InDet::IInDetTrackSelectionTool> m_trackSelectionTool{
80 this, "TrackSelectionTool", "", ""};
81
82 std::unique_ptr<TH1D> m_ZDCEt_UpperCut_5p5Sigma_OO;
83 std::unique_ptr<TH1D> m_ZDCEt_UpperCut_4p0Sigma_NeNe;
84 std::unique_ptr<TH1D> m_ZDCEt_UpperCut_5Sigma_PbPb2023;
85
86 float zdcCutValue(IonDataType, float fcalEt, PileupVariation) const;
87
89 IonDataType runNumberToDataType(uint32_t run) const;
90};
91
92} // namespace HI
93#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 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 ...
HIEventSelectionToolRun3(const std::string &name)
std::unique_ptr< TH1D > m_ZDCEt_UpperCut_5p5Sigma_OO
virtual IonDataType toDataType(const xAOD::EventInfo *eventInfo) const override
translates info in EV into HI data type
IonDataType runNumberToDataType(uint32_t run) const
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.
int run(int argc, char *argv[])