ATLAS Offline Software
ALFA_CenterGravity.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ALFA_CENTERGRAVITY_H
6 #define ALFA_CENTERGRAVITY_H
7 
8 #include <iostream>
9 #include <math.h>
10 #include <list>
11 
13 
14 #include "GaudiKernel/StatusCode.h"
15 
16 #include "TH1.h"
17 #include "TH2.h"
18 
22 
23 
25 {
26  public:
29 
30  private:
31  //number of RP, from 0 to 7 (B7L1U == 0, B7L1L == 1, ...)
32  Int_t m_iRPot;
33 
34  Int_t m_iTBins; // Theta Bins
35  Int_t m_iRBins; // R Bins
36 
37  //min-value of U & V fiber offset
38  Float_t m_fbMinU;
39  Float_t m_fbMinV;
40  Float_t m_fFiberD;
41  Float_t m_fzStep;
42 
43  Float_t m_fTLow;
44  Float_t m_fTHigh;
45  Float_t m_fRLow;
46  Float_t m_fRHigh;
47 
48  Float_t m_fHitBU;
49  Float_t m_fHitBV;
50 
51  Float_t m_fRecXPos;
52  Float_t m_fRecYPos;
53 
54  private:
55  Int_t m_iFHits[20];
56 
57  //slope, offset and Z-pos for MD fibers [2*10][64]
61 
62  private:
65 
66  private:
67  std::list<MDHIT> m_ListMDHits;
68 
69  public:
70 
71 
72 
73  private:
74  void HistInitialize();
75  void HistFinalize();
76 
79 
80 
81  public:
82  StatusCode Initialize(const eRPotName &eRPName, const std::list<MDHIT> &ListMDHits, Float_t faMD[RPOTSCNT][ALFALAYERSCNT*ALFAPLATESCNT][ALFAFIBERSCNT], Float_t fbMD[RPOTSCNT][ALFALAYERSCNT*ALFAPLATESCNT][ALFAFIBERSCNT], Float_t fzMD[RPOTSCNT][ALFALAYERSCNT*ALFAPLATESCNT][ALFAFIBERSCNT]);
84  StatusCode Finalize(Float_t &fRecXPos, Float_t &fRecYPos);
85 
86  void GetData(Int_t (&iFibSel)[ALFALAYERSCNT*ALFAPLATESCNT]);
87 
88 };
89 #endif // ALFA_CENTERGRAVITY_H
ALFA_CenterGravity::m_fRecXPos
Float_t m_fRecXPos
Definition: ALFA_CenterGravity.h:51
ALFA_CenterGravity::HistInitialize
void HistInitialize()
Definition: ALFA_CenterGravity.cxx:323
ALFA_CenterGravity::m_fTLow
Float_t m_fTLow
Definition: ALFA_CenterGravity.h:43
ALFA_CenterGravity::m_fRHigh
Float_t m_fRHigh
Definition: ALFA_CenterGravity.h:46
ALFA_CenterGravity::m_iTBins
Int_t m_iTBins
Definition: ALFA_CenterGravity.h:34
ALFA_CenterGravity::m_iRPot
Int_t m_iRPot
Definition: ALFA_CenterGravity.h:32
ALFAFIBERSCNT
#define ALFAFIBERSCNT
Definition: ALFA_constants.h:10
eRPotName
eRPotName
Definition: ALFA_GeometryReader.h:28
ALFA_GeometryReader.h
ALFA_CenterGravity
Definition: ALFA_CenterGravity.h:25
RPOTSCNT
#define RPOTSCNT
Definition: ALFA_CLinkAlg.h:26
ALFA_CenterGravity::m_fRecYPos
Float_t m_fRecYPos
Definition: ALFA_CenterGravity.h:52
ALFA_CenterGravity::m_faMD
Float_t m_faMD[ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT]
Definition: ALFA_CenterGravity.h:58
ALFA_CenterGravity::m_fHitBV
Float_t m_fHitBV
Definition: ALFA_CenterGravity.h:49
ALFA_constants.h
ALFA_CenterGravity::m_fbMinU
Float_t m_fbMinU
Definition: ALFA_CenterGravity.h:38
ALFA_CenterGravity::Initialize
StatusCode Initialize(const eRPotName &eRPName, const std::list< MDHIT > &ListMDHits, Float_t faMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Float_t fbMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Float_t fzMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT])
Definition: ALFA_CenterGravity.cxx:37
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ALFA_CenterGravity::SelectHitInLayer
StatusCode SelectHitInLayer()
Definition: ALFA_CenterGravity.cxx:124
ALFA_CenterGravity::m_fFiberD
Float_t m_fFiberD
Definition: ALFA_CenterGravity.h:40
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
ALFA_CenterGravity::m_fbMD
Float_t m_fbMD[ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT]
Definition: ALFA_CenterGravity.h:59
ALFA_CenterGravity::~ALFA_CenterGravity
~ALFA_CenterGravity()
Definition: ALFA_CenterGravity.cxx:32
TH2D
Definition: rootspy.cxx:430
ALFALAYERSCNT
#define ALFALAYERSCNT
Definition: ALFA_constants.h:8
ALFA_CenterGravity::m_fzStep
Float_t m_fzStep
Definition: ALFA_CenterGravity.h:41
ALFA_CenterGravity::m_fbMinV
Float_t m_fbMinV
Definition: ALFA_CenterGravity.h:39
ALFA_CenterGravity::GetData
void GetData(Int_t(&iFibSel)[ALFALAYERSCNT *ALFAPLATESCNT])
Definition: ALFA_CenterGravity.cxx:337
ALFA_CenterGravity::m_fHitBU
Float_t m_fHitBU
Definition: ALFA_CenterGravity.h:48
ALFA_CenterGravity::ALFA_CenterGravity
ALFA_CenterGravity()
Definition: ALFA_CenterGravity.cxx:9
ALFA_CenterGravity::Finalize
StatusCode Finalize(Float_t &fRecXPos, Float_t &fRecYPos)
Definition: ALFA_CenterGravity.cxx:114
ALFA_UserObjects.h
AthMessaging.h
ALFA_CenterGravity::m_histU_PT
TH2D * m_histU_PT
Definition: ALFA_CenterGravity.h:63
ALFA_CenterGravity::m_ListMDHits
std::list< MDHIT > m_ListMDHits
Definition: ALFA_CenterGravity.h:67
ALFA_CenterGravity::m_iRBins
Int_t m_iRBins
Definition: ALFA_CenterGravity.h:35
ALFA_CenterGravity::m_histV_PT
TH2D * m_histV_PT
Definition: ALFA_CenterGravity.h:64
ALFA_CenterGravity::m_fzMD
Float_t m_fzMD[ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT]
Definition: ALFA_CenterGravity.h:60
ALFA_CenterGravity::Execute
StatusCode Execute()
Definition: ALFA_CenterGravity.cxx:91
ALFA_CenterGravity::CenterGravity
StatusCode CenterGravity()
Definition: ALFA_CenterGravity.cxx:267
ALFA_CenterGravity::m_fRLow
Float_t m_fRLow
Definition: ALFA_CenterGravity.h:45
ALFA_CenterGravity::m_fTHigh
Float_t m_fTHigh
Definition: ALFA_CenterGravity.h:44
ALFA_CenterGravity::HistFinalize
void HistFinalize()
Definition: ALFA_CenterGravity.cxx:329
ALFA_CenterGravity::m_iFHits
Int_t m_iFHits[20]
Definition: ALFA_CenterGravity.h:55
ALFAPLATESCNT
#define ALFAPLATESCNT
Definition: ALFA_constants.h:9