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) const override;
51
52 virtual bool noPUFCalVsNtracks(
53 IonDataType dataType, float fcalEt, int ntrk,
54 PileupVariation variation = PileupVariation::Nominal) const override;
55
56 virtual bool noPUZDCPresampler(HI::IonDataType period,
57 const xAOD::ZdcModuleContainer* zdcModules,
58 HI::PileupVariation variation) const override;
59
60 virtual bool noPUZDCPresampler(
61 IonDataType dataType, float presamplerA, float presamplerC,
62 PileupVariation variation = PileupVariation::Nominal) const override;
63
64 virtual bool noPUOOVertexCuts(
65 IonDataType dataType,
66 const xAOD::VertexContainer* vertices) const override;
67
68 virtual IonDataType toDataType(
69 const xAOD::EventInfo* eventInfo) const override;
70
71 virtual unsigned int defaultMaskForPeriod(IonDataType period) const override;
72
73 private:
74 ToolHandle<InDet::IInDetTrackSelectionTool> m_trackSelectionTool{
75 this, "TrackSelectionTool", "", ""};
76
77 std::unique_ptr<TH1D> m_ZDCEt_UpperCut_5p5Sigma_OO;
78 std::unique_ptr<TH1D> m_ZDCEt_UpperCut_4p0Sigma_NeNe;
79 float zdcCutValue(IonDataType, float fcalEt, PileupVariation) const;
80
82 IonDataType runNumberToDataType(uint32_t run) const;
83};
84
85} // namespace HI
86#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
virtual int nTrk(HI::IonDataType dataType, const xAOD::TrackParticleContainer *tracks, const xAOD::VertexContainer *vertices) const override
virtual float zdcE(HI::IonDataType period, const xAOD::ZdcModuleContainer *zdcModules) const override
virtual ~HIEventSelectionToolRun3()=default
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
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
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[])