ATLAS Offline Software
Loading...
Searching...
No Matches
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:
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
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
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
#define RPOTSCNT
#define ALFALAYERSCNT
#define ALFAPLATESCNT
#define ALFAFIBERSCNT
void SetData(Int_t iNumU, Int_t iNumV, Float_t fOvU, Float_t fOvV)
StatusCode Finalize(Float_t &fRecXPos, Float_t &fRecYPos)
Int_t m_iMultiplicityCut
Float_t m_fbMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT]
StatusCode Execute(Int_t iRPot, const std::list< MDHIT > &ListMDHits)
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)
void GetData(Int_t &iNumU, Int_t &iNumV, Float_t &fOvU, Float_t &fOvV, Int_t(&iFibSel)[ALFALAYERSCNT *ALFAPLATESCNT])
Float_t m_fRecYPos
Float_t m_fRecXPos
Float_t m_fOverlapCut
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)
Float_t m_faMD[RPOTSCNT][ALFALAYERSCNT *ALFAPLATESCNT][ALFAFIBERSCNT]
Int_t m_fhits[ALFALAYERSCNT *ALFAPLATESCNT]
std::map< int, FIBERS > m_MapLayers
AthMessaging(IMessageSvc *msgSvc, const std::string &name)
Constructor.