ATLAS Offline Software
ALFA_HalfReco.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_HALFRECO_H
6 #define ALFA_HALFRECO_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:
26  ALFA_HalfReco();
28 
29  private:
30  Int_t m_iUVCut;
31  Int_t m_iHalf;
32  Int_t m_iRPot;
33 // Int_t m_iNumHitsLayer[ALFAFIBERSCNT]; //number of hits in the layer
35  Float_t m_fOverlapCut;
36  Float_t m_fRecXPos;
37  Float_t m_fRecYPos;
38  Float_t m_faMD[RPOTSCNT][ALFALAYERSCNT*ALFAPLATESCNT][ALFAFIBERSCNT]; //slope, offset and Z-pos for MD fibers [2*10][64]
40 
41  Int_t m_iNumU, m_iNumV;
42  double m_fOvU, m_fOvV;
44 
45 
46  private:
47  std::map<int, FIBERS> m_MapLayers;
48 
49  public:
50  StatusCode Initialize(Float_t faMD[RPOTSCNT][ALFALAYERSCNT*ALFAPLATESCNT][ALFAFIBERSCNT], Float_t fbMD[RPOTSCNT][ALFALAYERSCNT*ALFAPLATESCNT][ALFAFIBERSCNT], Int_t iHalf, Int_t fMultiplicityCut, Int_t iUVCut, Float_t fOverlapCut);
51  StatusCode Execute(Int_t iRPot, const std::list<MDHIT> &ListMDHits);
52  StatusCode Finalize(Float_t &fRecXPos, Float_t &fRecYPos);
53 
54  void GetData(Int_t &iNumU, Int_t &iNumV, Float_t &fOvU, Float_t &fOvV, Int_t (&iFibSel)[ALFALAYERSCNT*ALFAPLATESCNT]);
55 
56  private:
57  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);
58  void OverLap();
59  void SetData(Int_t iNumU, Int_t iNumV, Float_t fOvU, Float_t fOvV);
60 
61 };
62 
63 #endif // ALFA_HALFRECO_H
ALFA_HalfReco::m_fOvV
double m_fOvV
Definition: ALFA_HalfReco.h:42
ALFA_HalfReco::Execute
StatusCode Execute(Int_t iRPot, const std::list< MDHIT > &ListMDHits)
Definition: ALFA_HalfReco.cxx:63
ALFA_HalfReco::~ALFA_HalfReco
~ALFA_HalfReco()
Definition: ALFA_HalfReco.cxx:33
ALFA_HalfReco::ALFA_HalfReco
ALFA_HalfReco()
Definition: ALFA_HalfReco.cxx:7
ALFAFIBERSCNT
#define ALFAFIBERSCNT
Definition: ALFA_constants.h:10
ALFA_HalfReco::m_iNumV
Int_t m_iNumV
Definition: ALFA_HalfReco.h:41
RPOTSCNT
#define RPOTSCNT
Definition: ALFA_CLinkAlg.h:26
ALFA_HalfReco::m_fbMD
Float_t m_fbMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT]
Definition: ALFA_HalfReco.h:39
ALFA_HalfReco::m_faMD
Float_t m_faMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT]
Definition: ALFA_HalfReco.h:38
ALFA_HalfReco::m_fOvU
double m_fOvU
Definition: ALFA_HalfReco.h:42
ALFA_HalfReco::m_iUVCut
Int_t m_iUVCut
Definition: ALFA_HalfReco.h:30
ALFA_HalfReco::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_HalfReco.cxx:132
ALFA_HalfReco::m_iHalf
Int_t m_iHalf
Definition: ALFA_HalfReco.h:31
ALFA_constants.h
ALFA_HalfReco::Finalize
StatusCode Finalize(Float_t &fRecXPos, Float_t &fRecYPos)
Definition: ALFA_HalfReco.cxx:121
ALFA_HalfReco::GetData
void GetData(Int_t &iNumU, Int_t &iNumV, Float_t &fOvU, Float_t &fOvV, Int_t(&iFibSel)[ALFALAYERSCNT *ALFAPLATESCNT])
Definition: ALFA_HalfReco.cxx:448
ALFA_HalfReco::m_fRecYPos
Float_t m_fRecYPos
Definition: ALFA_HalfReco.h:37
ALFA_HalfReco
Definition: ALFA_HalfReco.h:24
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ALFA_HalfReco::m_iRPot
Int_t m_iRPot
Definition: ALFA_HalfReco.h:32
ALFA_HalfReco::m_fOverlapCut
Float_t m_fOverlapCut
Definition: ALFA_HalfReco.h:35
AthMessaging
Class to provide easy MsgStream access and capabilities.
Definition: AthMessaging.h:55
ALFALAYERSCNT
#define ALFALAYERSCNT
Definition: ALFA_constants.h:8
ALFA_HalfReco::m_fRecXPos
Float_t m_fRecXPos
Definition: ALFA_HalfReco.h:36
ALFA_HalfReco::SetData
void SetData(Int_t iNumU, Int_t iNumV, Float_t fOvU, Float_t fOvV)
Definition: ALFA_HalfReco.cxx:436
ALFA_HalfReco::OverLap
void OverLap()
Definition: ALFA_HalfReco.cxx:321
ALFA_HalfReco::m_fhits
Int_t m_fhits[ALFALAYERSCNT *ALFAPLATESCNT]
Definition: ALFA_HalfReco.h:43
ALFA_HalfReco::m_MapLayers
std::map< int, FIBERS > m_MapLayers
Definition: ALFA_HalfReco.h:47
ALFA_UserObjects.h
ALFA_HalfReco::Initialize
StatusCode Initialize(Float_t faMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Float_t fbMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT], Int_t iHalf, Int_t fMultiplicityCut, Int_t iUVCut, Float_t fOverlapCut)
Definition: ALFA_HalfReco.cxx:37
AthMessaging.h
ALFA_HalfReco::m_iMultiplicityCut
Int_t m_iMultiplicityCut
Definition: ALFA_HalfReco.h:34
ALFAPLATESCNT
#define ALFAPLATESCNT
Definition: ALFA_constants.h:9
ALFA_HalfReco::m_iNumU
Int_t m_iNumU
Definition: ALFA_HalfReco.h:41