ATLAS Offline Software
Loading...
Searching...
No Matches
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
27
29public:
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
37private:
38 static const int m_nStations=4;
39 static const int m_nLayers=4;
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
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Property holding a SG store/key/clid from which a ReadHandle is made.
Gaudi::Property< int > m_LBRangeLength
TProfile2D m_lb_zCluster_xDistSiTrackCluster[m_nStations][m_nLayers]
virtual StatusCode initialize() override
virtual StatusCode finalize() override
TProfile2D m_lb_sxTrack_xDistSiTrackCluster[m_nStations][m_nLayers]
SG::ReadHandleKey< xAOD::AFPTrackContainer > m_afpTrackContainerKey
std::vector< TH2F > m_pixelCluster[m_nStations][m_nLayers]
TProfile2D m_lb_yCluster_yDistSiTrackCluster[m_nStations][m_nLayers]
TProfile2D m_lb_xCluster_xDistSiTrackCluster[m_nStations][m_nLayers]
virtual StatusCode execute() override
static const int m_nStations
TProfile2D m_lb_yCluster_xDistSiTrackCluster[m_nStations][m_nLayers]
SG::ReadHandleKey< xAOD::AFPSiHitContainer > m_afpHitContainerKey
TProfile m_lb_xDistSiTrackCluster[m_nStations][m_nLayers]
TProfile2D m_lb_xCluster_yDistSiTrackCluster[m_nStations][m_nLayers]
TProfile2D m_lb_sxTrack_yDistSiTrackCluster[m_nStations][m_nLayers]
TProfile2D m_lb_syTrack_xDistSiTrackCluster[m_nStations][m_nLayers]
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
AFP_PixelHistoFiller(const std::string &name, ISvcLocator *pSvcLocator)
TProfile2D m_lb_zCluster_yDistSiTrackCluster[m_nStations][m_nLayers]
virtual ~AFP_PixelHistoFiller()=default
TProfile2D m_lb_syTrack_yDistSiTrackCluster[m_nStations][m_nLayers]
TProfile m_lb_yDistSiTrackCluster[m_nStations][m_nLayers]
std::vector< TH2F > m_pixelHits[m_nStations][m_nLayers]
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
Property holding a SG store/key/clid from which a ReadHandle is made.