ATLAS Offline Software
AFP_PixelHistoFiller.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef AFP_CALIBRATION_AFP_PIXELHISTOFILLER_H
6 #define AFP_CALIBRATION_AFP_PIXELHISTOFILLER_H
7 
8 // Framework includes
13 
15 
16 // STL includes
17 #include <string>
18 #include <vector>
19 //ROOT includes
20 #include "TH2F.h"
21 #include "TProfile.h"
22 #include "TProfile2D.h"
23 
29 public:
30  AFP_PixelHistoFiller(const std::string& name, ISvcLocator* pSvcLocator);
31  virtual ~AFP_PixelHistoFiller() = default;
32 
33  virtual StatusCode initialize() override;
34  virtual StatusCode execute() override;
35  virtual StatusCode finalize() override;
36 
37 private:
38  static const int m_nStations=4;
39  static const int m_nLayers=4;
40  int m_nPixelsX=0;
41  int m_nPixelsY=0;
42 
43  std::vector<TH2F> m_pixelHits[m_nStations][m_nLayers]; // 2D map of hits
44  std::vector<TH2F> m_pixelCluster[m_nStations][m_nLayers]; // 2D map of clusters
45 
46  TProfile m_lb_xDistSiTrackCluster[m_nStations][m_nLayers]; // lumi block vs x-dist(track, cluster)
47  TProfile m_lb_yDistSiTrackCluster[m_nStations][m_nLayers]; // lumi block vs y-dist(track, cluster)
48  TProfile2D m_lb_xCluster_yDistSiTrackCluster[m_nStations][m_nLayers]; // lumi block vs x-cluster vs y-dist(track, cluster)
49  TProfile2D m_lb_yCluster_xDistSiTrackCluster[m_nStations][m_nLayers]; // lumi block vs y-cluster vs x-dist(track, cluster)
50  TProfile2D m_lb_zCluster_xDistSiTrackCluster[m_nStations][m_nLayers]; // lumi block vs z-cluster vs x-dist(track, cluster)
51  TProfile2D m_lb_zCluster_yDistSiTrackCluster[m_nStations][m_nLayers]; // lumi block vs z-cluster vs y-dist(track, cluster)
52 
53  TProfile2D m_lb_yCluster_yDistSiTrackCluster[m_nStations][m_nLayers]; // lumi block vs cluster y-pos vs y-dist(track, cluster)
54  TProfile2D m_lb_xCluster_xDistSiTrackCluster[m_nStations][m_nLayers]; // lumi block vs cluster x-pos vs x-dist(track, cluster)
55  TProfile2D m_lb_sxTrack_xDistSiTrackCluster[m_nStations][m_nLayers]; // lumi block vs track x-slope vs x-dist(track, cluster)
56  TProfile2D m_lb_syTrack_yDistSiTrackCluster[m_nStations][m_nLayers]; // lumi block vs track y-slope vs y-dist(track, cluster)
57  TProfile2D m_lb_syTrack_xDistSiTrackCluster[m_nStations][m_nLayers]; // lumi block vs track y-slope vs x-dist(track, cluster)
58  TProfile2D m_lb_sxTrack_yDistSiTrackCluster[m_nStations][m_nLayers]; // lumi block vs track x-slope vs y-dist(track, cluster)
59 
60  Gaudi::Property<int> m_LBRangeLength{this, "LBRangeLength",5, "How many lumiblocks should be merged together to have reasonable statistics"};
61 
62  SG::ReadHandleKey<xAOD::EventInfo> m_eventInfoKey { this, "EventInfoKey", "EventInfo", "name of EventInfo container" };
63  SG::ReadHandleKey<xAOD::AFPSiHitContainer> m_afpHitContainerKey{ this ,"AFPHitContainerKey", "AFPSiHitContainer", "name of AFPSiHitContainer" };
64  SG::ReadHandleKey<xAOD::AFPTrackContainer> m_afpTrackContainerKey{ this, "AFPTrackContainerKey", "AFPTrackContainer", "name of AFPTrackContainer" };
65 };
66 
67 #ifndef __CINT__
68  CLASS_DEF( AFP_PixelHistoFiller , 161453345 , 1 )
69 #endif
70 
71 #endif // AFP_CALIBRATION_AFP_PIXELHISTOFILLER_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
AFPTrackContainer.h
AFP_PixelHistoFiller::m_lb_sxTrack_xDistSiTrackCluster
TProfile2D m_lb_sxTrack_xDistSiTrackCluster[m_nStations][m_nLayers]
Definition: AFP_PixelHistoFiller.h:55
AFP_PixelHistoFiller::execute
virtual StatusCode execute() override
Definition: AFP_PixelHistoFiller.cxx:87
TProfile2D
Definition: rootspy.cxx:531
AFP_PixelHistoFiller::m_pixelHits
std::vector< TH2F > m_pixelHits[m_nStations][m_nLayers]
Definition: AFP_PixelHistoFiller.h:43
SG::ReadHandleKey< xAOD::EventInfo >
AFP_PixelHistoFiller::m_lb_syTrack_yDistSiTrackCluster
TProfile2D m_lb_syTrack_yDistSiTrackCluster[m_nStations][m_nLayers]
Definition: AFP_PixelHistoFiller.h:56
AFP_PixelHistoFiller::initialize
virtual StatusCode initialize() override
Definition: AFP_PixelHistoFiller.cxx:27
AFP_PixelHistoFiller::m_lb_zCluster_xDistSiTrackCluster
TProfile2D m_lb_zCluster_xDistSiTrackCluster[m_nStations][m_nLayers]
Definition: AFP_PixelHistoFiller.h:50
AthAlgorithm.h
AFP_PixelHistoFiller::m_afpHitContainerKey
SG::ReadHandleKey< xAOD::AFPSiHitContainer > m_afpHitContainerKey
Definition: AFP_PixelHistoFiller.h:63
AFP_PixelHistoFiller::finalize
virtual StatusCode finalize() override
Definition: AFP_PixelHistoFiller.cxx:245
AFP_PixelHistoFiller::m_nPixelsY
int m_nPixelsY
Definition: AFP_PixelHistoFiller.h:41
AFP_PixelHistoFiller::m_lb_syTrack_xDistSiTrackCluster
TProfile2D m_lb_syTrack_xDistSiTrackCluster[m_nStations][m_nLayers]
Definition: AFP_PixelHistoFiller.h:57
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AFP_PixelHistoFiller
Definition: AFP_PixelHistoFiller.h:28
AFP_PixelHistoFiller::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: AFP_PixelHistoFiller.h:62
AFP_PixelHistoFiller::m_lb_sxTrack_yDistSiTrackCluster
TProfile2D m_lb_sxTrack_yDistSiTrackCluster[m_nStations][m_nLayers]
Definition: AFP_PixelHistoFiller.h:58
AthAlgorithm
Definition: AthAlgorithm.h:47
AFP_PixelHistoFiller::m_lb_xDistSiTrackCluster
TProfile m_lb_xDistSiTrackCluster[m_nStations][m_nLayers]
Definition: AFP_PixelHistoFiller.h:46
AFP_PixelHistoFiller::m_lb_xCluster_yDistSiTrackCluster
TProfile2D m_lb_xCluster_yDistSiTrackCluster[m_nStations][m_nLayers]
Definition: AFP_PixelHistoFiller.h:48
AFP_PixelHistoFiller::~AFP_PixelHistoFiller
virtual ~AFP_PixelHistoFiller()=default
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
AFP_PixelHistoFiller::m_nPixelsX
int m_nPixelsX
Definition: AFP_PixelHistoFiller.h:40
AFP_PixelHistoFiller::m_lb_zCluster_yDistSiTrackCluster
TProfile2D m_lb_zCluster_yDistSiTrackCluster[m_nStations][m_nLayers]
Definition: AFP_PixelHistoFiller.h:51
TProfile
Definition: rootspy.cxx:515
AFP_PixelHistoFiller::m_lb_yCluster_xDistSiTrackCluster
TProfile2D m_lb_yCluster_xDistSiTrackCluster[m_nStations][m_nLayers]
Definition: AFP_PixelHistoFiller.h:49
AFP_PixelHistoFiller::m_afpTrackContainerKey
SG::ReadHandleKey< xAOD::AFPTrackContainer > m_afpTrackContainerKey
Definition: AFP_PixelHistoFiller.h:64
AFP_PixelHistoFiller::m_pixelCluster
std::vector< TH2F > m_pixelCluster[m_nStations][m_nLayers]
Definition: AFP_PixelHistoFiller.h:44
AFP_PixelHistoFiller::m_LBRangeLength
Gaudi::Property< int > m_LBRangeLength
Definition: AFP_PixelHistoFiller.h:60
AFPSiHitContainer.h
EventInfo.h
AFP_PixelHistoFiller::m_lb_yDistSiTrackCluster
TProfile m_lb_yDistSiTrackCluster[m_nStations][m_nLayers]
Definition: AFP_PixelHistoFiller.h:47
AFP_PixelHistoFiller::m_lb_yCluster_yDistSiTrackCluster
TProfile2D m_lb_yCluster_yDistSiTrackCluster[m_nStations][m_nLayers]
Definition: AFP_PixelHistoFiller.h:53
AFP_PixelHistoFiller::m_nLayers
static const int m_nLayers
Definition: AFP_PixelHistoFiller.h:39
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
AFP_PixelHistoFiller::m_lb_xCluster_xDistSiTrackCluster
TProfile2D m_lb_xCluster_xDistSiTrackCluster[m_nStations][m_nLayers]
Definition: AFP_PixelHistoFiller.h:54
AFP_PixelHistoFiller::AFP_PixelHistoFiller
AFP_PixelHistoFiller(const std::string &name, ISvcLocator *pSvcLocator)
Definition: AFP_PixelHistoFiller.cxx:21
AFP_PixelHistoFiller::m_nStations
static const int m_nStations
Definition: AFP_PixelHistoFiller.h:38