ATLAS Offline Software
FPGAOutputValidationAlg.h
Go to the documentation of this file.
1 
2 /*
3  * Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
4  */
5 
6 #ifndef EFTRACKING_ATHENA_VS_FPGA_CLUSTER_HIST_MAKER_H
7 #define EFTRACKING_ATHENA_VS_FPGA_CLUSTER_HIST_MAKER_H
8 
9 #include "GaudiKernel/LockedHandle.h"
10 
20 #include "InDetIdentifier/SCT_ID.h"
23 
25 {
26  Gaudi::Property<std::string> m_outputRootFilePath{
27  this,
28  "outputRootFilePath",
29  "fpgaOutputValidation.root",
30  "Path to output root file containing histograms."
31  };
32 
33  Gaudi::Property<bool> m_doDiffHistograms{
34  this,
35  "doDiffHistograms",
36  false,
37  "Create extra histograms for cluster parameter diffs between matched clusters."
38  };
39  Gaudi::Property<bool> m_matchByID{this, "matchByID", false, "Use hash to match clusters. If false, use only the rdo list."};
40  Gaudi::Property<size_t> m_allowedRdoMisses {this, "allowedRdoMisses", 0, "Allowed number of RDOs that don't have to match between clusters. Setting this to a very large number means essentially that 1 common RDO is enough to match clusters."};
41  Gaudi::Property<bool> m_checkClusterRdos {this, "checkClusterRdos", false, "If true, check if FPGA clusters share any RDOs"};
42 
45 
46  ToolHandle<GenericMonitoringTool> m_monitoringTool{this, "monitoringTool", "", "Monitoring tool"};
47 
48  // chrono service
49  ServiceHandle<IChronoStatSvc> m_chrono{this,"ChronoStatSvc","ChronoStatSvc"};
50 
51  const PixelID* m_pixelid {nullptr};
52  const SCT_ID* m_stripid {nullptr};
55  public:
56  FPGAOutputValidationAlg(const std::string& name, ISvcLocator* pSvcLocator);
57  virtual StatusCode initialize() override final;
58  virtual StatusCode execute(const EventContext& ctx) const override final;
59 };
60 
61 #endif
62 
ReadHandleKeyArray.h
PixelID.h
This is an Identifier helper class for the Pixel subdetector. This class is a factory for creating co...
StripCluster.h
FPGAOutputValidationAlg::m_pixelKeys
SG::ReadHandleKeyArray< xAOD::PixelClusterContainer > m_pixelKeys
Definition: FPGAOutputValidationAlg.h:43
SCT_ID.h
This is an Identifier helper class for the SCT subdetector. This class is a factory for creating comp...
FPGAOutputValidationAlg::m_stripid
const SCT_ID * m_stripid
Definition: FPGAOutputValidationAlg.h:52
FPGAOutputValidationAlg::initialize
virtual StatusCode initialize() override final
Definition: FPGAOutputValidationAlg.cxx:146
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
FPGAOutputValidationAlg::FPGAOutputValidationAlg
FPGAOutputValidationAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: FPGAOutputValidationAlg.cxx:140
FPGAOutputValidationAlg::m_stripKeys
SG::ReadHandleKeyArray< xAOD::StripClusterContainer > m_stripKeys
Definition: FPGAOutputValidationAlg.h:44
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
FPGAOutputValidationAlg::m_chrono
ServiceHandle< IChronoStatSvc > m_chrono
Definition: FPGAOutputValidationAlg.h:49
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:74
FPGAOutputValidationAlg::execute
virtual StatusCode execute(const EventContext &ctx) const override final
Definition: FPGAOutputValidationAlg.cxx:164
FPGAOutputValidationAlg::m_checkClusterRdos
Gaudi::Property< bool > m_checkClusterRdos
Definition: FPGAOutputValidationAlg.h:41
FPGAOutputValidationAlg::m_SCT_mgr
const InDetDD::SiDetectorManager * m_SCT_mgr
Definition: FPGAOutputValidationAlg.h:54
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PixelClusterContainer.h
PixelCluster.h
FPGAOutputValidationAlg::m_allowedRdoMisses
Gaudi::Property< size_t > m_allowedRdoMisses
Definition: FPGAOutputValidationAlg.h:40
FPGAOutputValidationAlg::m_PIX_mgr
const InDetDD::SiDetectorManager * m_PIX_mgr
Definition: FPGAOutputValidationAlg.h:53
FPGAOutputValidationAlg::m_doDiffHistograms
Gaudi::Property< bool > m_doDiffHistograms
Definition: FPGAOutputValidationAlg.h:33
FPGAOutputValidationAlg::m_matchByID
Gaudi::Property< bool > m_matchByID
Definition: FPGAOutputValidationAlg.h:39
MeasurementDefs.h
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
columnar::final
CM final
Definition: ColumnAccessor.h:106
AthReentrantAlgorithm.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
FPGAOutputValidationAlg::m_pixelid
const PixelID * m_pixelid
Definition: FPGAOutputValidationAlg.h:51
SiDetectorElement.h
FPGAOutputValidationAlg
Definition: FPGAOutputValidationAlg.h:25
SCT_ID
Definition: SCT_ID.h:68
StripClusterContainer.h
InDetDD::SiDetectorManager
Definition: SiDetectorManager.h:60
FPGAOutputValidationAlg::m_outputRootFilePath
Gaudi::Property< std::string > m_outputRootFilePath
Definition: FPGAOutputValidationAlg.h:26
FPGAOutputValidationAlg::m_monitoringTool
ToolHandle< GenericMonitoringTool > m_monitoringTool
Definition: FPGAOutputValidationAlg.h:46
SiDetectorManager.h
PixelID
Definition: PixelID.h:67
ServiceHandle< IChronoStatSvc >