ATLAS Offline Software
ALFA_MDTracking.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_MDTRACKING_H
6 #define ALFA_MDTRACKING_H
7 
8 #include <iostream>
9 #include <vector>
10 
12 
13 #include "GaudiKernel/StatusCode.h"
14 
15 #include "Rtypes.h"
16 #include "TMath.h"
17 #include "TH1.h"
18 #include "TH2.h"
19 
22 
24 {
25  public:
28 
29  private:
31  Int_t m_iUVCut;
32  Int_t m_iRPot;
33  Int_t m_iNumU, m_iNumV;
34  Float_t m_fOverlapCut;
35  Float_t m_fRecXPos;
36  Float_t m_fRecYPos;
37  Float_t m_faMD[RPOTSCNT][ALFALAYERSCNT*ALFAPLATESCNT][ALFAFIBERSCNT]; //slope, offset and Z-pos for MD fibers [2*10][64]
41 
42  private:
43  std::map<int, FIBERS> m_MapLayers;
44 
45  public:
46  StatusCode Initialize(Float_t faMD[RPOTSCNT][ALFALAYERSCNT*ALFAPLATESCNT][ALFAFIBERSCNT], Float_t fbMD[RPOTSCNT][ALFALAYERSCNT*ALFAPLATESCNT][ALFAFIBERSCNT], Int_t iMultiplicityCut, Int_t iUVCut, Float_t fOverlapCut);
47  StatusCode Execute(Int_t iRPot, const std::list<MDHIT> &ListMDHits);
48  StatusCode Finalize(Float_t &fRecXPos, Float_t &fRecYPos);
49 
50  void GetData(Int_t &NumU, Int_t &NumV, Float_t &OL_U, Float_t &OL_V, Int_t (&iFibSel)[ALFALAYERSCNT*ALFAPLATESCNT]);
51 
52  private:
53  void HistFill(Float_t &b_p, Float_t &b_n, Float_t &Ov_p, Float_t &Ov_n, Int_t &NumU, Int_t &NumV, Int_t iFlag);
54  void OverLap();
55  void SetData(Int_t NumU, Int_t NumV, Float_t OL_U, Float_t OL_V);
56 
57 };
58 #endif // ALFA_MDTRACKING_H
ALFA_MDTracking::Execute
StatusCode Execute(Int_t iRPot, const std::list< MDHIT > &ListMDHits)
Definition: ALFA_MDTracking.cxx:62
ALFA_MDTracking::m_iRPot
Int_t m_iRPot
Definition: ALFA_MDTracking.h:32
ALFA_MDTracking::ALFA_MDTracking
ALFA_MDTracking()
Definition: ALFA_MDTracking.cxx:7
ALFA_MDTracking::m_fOverlapCut
Float_t m_fOverlapCut
Definition: ALFA_MDTracking.h:34
ALFA_MDTracking::GetData
void GetData(Int_t &NumU, Int_t &NumV, Float_t &OL_U, Float_t &OL_V, Int_t(&iFibSel)[ALFALAYERSCNT *ALFAPLATESCNT])
Definition: ALFA_MDTracking.cxx:450
ALFA_MDTracking::m_fRecXPos
Float_t m_fRecXPos
Definition: ALFA_MDTracking.h:35
ALFA_MDTracking::Initialize
StatusCode Initialize(Float_t faMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Float_t fbMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Int_t iMultiplicityCut, Int_t iUVCut, Float_t fOverlapCut)
Definition: ALFA_MDTracking.cxx:37
ALFA_MDTracking::m_iMultiplicityCut
Int_t m_iMultiplicityCut
Definition: ALFA_MDTracking.h:30
ALFAFIBERSCNT
#define ALFAFIBERSCNT
Definition: ALFA_constants.h:10
ALFA_MDTracking::SetData
void SetData(Int_t NumU, Int_t NumV, Float_t OL_U, Float_t OL_V)
Definition: ALFA_MDTracking.cxx:438
RPOTSCNT
#define RPOTSCNT
Definition: ALFA_CLinkAlg.h:26
ALFA_MDTracking::m_fbMD
Float_t m_fbMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT]
Definition: ALFA_MDTracking.h:38
ALFA_MDTracking
Definition: ALFA_MDTracking.h:24
ALFA_constants.h
ALFA_MDTracking::m_fRecYPos
Float_t m_fRecYPos
Definition: ALFA_MDTracking.h:36
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ALFA_MDTracking::m_fOverlapV
double m_fOverlapV
Definition: ALFA_MDTracking.h:39
ALFA_MDTracking::m_faMD
Float_t m_faMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT]
Definition: ALFA_MDTracking.h:37
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
ALFA_MDTracking::m_fOverlapU
double m_fOverlapU
Definition: ALFA_MDTracking.h:39
ALFALAYERSCNT
#define ALFALAYERSCNT
Definition: ALFA_constants.h:8
ALFA_MDTracking::m_iFibSel
Int_t m_iFibSel[ALFALAYERSCNT *ALFAPLATESCNT]
Definition: ALFA_MDTracking.h:40
ALFA_MDTracking::m_iUVCut
Int_t m_iUVCut
Definition: ALFA_MDTracking.h:31
ALFA_MDTracking::HistFill
void HistFill(Float_t &b_p, Float_t &b_n, Float_t &Ov_p, Float_t &Ov_n, Int_t &NumU, Int_t &NumV, Int_t iFlag)
Definition: ALFA_MDTracking.cxx:128
ALFA_MDTracking::m_iNumV
Int_t m_iNumV
Definition: ALFA_MDTracking.h:33
ALFA_UserObjects.h
ALFA_MDTracking::m_MapLayers
std::map< int, FIBERS > m_MapLayers
Definition: ALFA_MDTracking.h:43
AthMessaging.h
ALFA_MDTracking::m_iNumU
Int_t m_iNumU
Definition: ALFA_MDTracking.h:33
ALFA_MDTracking::Finalize
StatusCode Finalize(Float_t &fRecXPos, Float_t &fRecYPos)
Definition: ALFA_MDTracking.cxx:116
ALFA_MDTracking::OverLap
void OverLap()
Definition: ALFA_MDTracking.cxx:324
ALFAPLATESCNT
#define ALFAPLATESCNT
Definition: ALFA_constants.h:9
ALFA_MDTracking::~ALFA_MDTracking
~ALFA_MDTracking()
Definition: ALFA_MDTracking.cxx:31