ATLAS Offline Software
ALFA_LocRecCorr.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 ALFA_LOCRECCORR_h
6 #define ALFA_LOCRECCORR_h
7 
8 #include <iostream>
9 #include <string>
10 #include <list>
11 #include <map>
12 #include <vector>
13 
14 #include "Riostream.h"
15 #include "TROOT.h"
16 
18 
19 #include "GaudiKernel/ServiceHandle.h"
20 #include "StoreGate/StoreGateSvc.h"
24 
36 #include "ALFA_UserObjects.h"
37 
38 #define MAXNUMTRACKS 100
39 
40 typedef struct _USERTRANSFORM
41 {
42  int iRPot;
43  double fAngle;
44  CLHEP::Hep3Vector vecRotation;
45  CLHEP::Hep3Vector vecTranslation;
46 
48 
49 
50 class StoreGateSvc;
51 
53 {
54 public:
55  ALFA_LocRecCorr(const std::string& name, ISvcLocator* pSvcLocator);
57 
58 private:
61 
62  // a handle on Store Gate
63  //StoreGateSvc* m_storeGate;
64  //StoreGateSvc* m_pDetStore;
65 
68 
70  std::list<eRPotName> m_ListExistingRPots;
71 
74 
75  Int_t m_iDataType; //data type (simulation or real data) using in the local reconstruction
76  Int_t m_iEvt;
77 
78  std::vector<bool> m_bIsTransformInStation;
79  std::vector<bool> m_bIsTransformInDetector;
80  std::vector<double> m_pointTransformInDetectorB7L1U;
81  std::vector<double> m_pointTransformInDetectorB7L1L;
82  std::vector<double> m_pointTransformInDetectorA7L1U;
83  std::vector<double> m_pointTransformInDetectorA7L1L;
84  std::vector<double> m_pointTransformInDetectorB7R1U;
85  std::vector<double> m_pointTransformInDetectorB7R1L;
86  std::vector<double> m_pointTransformInDetectorA7R1U;
87  std::vector<double> m_pointTransformInDetectorA7R1L;
88  std::vector<double> m_vecTransformInDetectorB7L1U;
89  std::vector<double> m_vecTransformInDetectorB7L1L;
90  std::vector<double> m_vecTransformInDetectorA7L1U;
91  std::vector<double> m_vecTransformInDetectorA7L1L;
92  std::vector<double> m_vecTransformInDetectorB7R1U;
93  std::vector<double> m_vecTransformInDetectorB7R1L;
94  std::vector<double> m_vecTransformInDetectorA7R1U;
95  std::vector<double> m_vecTransformInDetectorA7R1L;
96  std::vector<double> m_vecTransformInStationB7L1U;
97  std::vector<double> m_vecTransformInStationB7L1L;
98  std::vector<double> m_vecTransformInStationA7L1U;
99  std::vector<double> m_vecTransformInStationA7L1L;
100  std::vector<double> m_vecTransformInStationB7R1U;
101  std::vector<double> m_vecTransformInStationB7R1L;
102  std::vector<double> m_vecTransformInStationA7R1U;
103  std::vector<double> m_vecTransformInStationA7R1L;
104 
110  std::string m_strCollectionName;
114  std::string m_rootInputFileName;
115 
118 
119 public:
123 
124 private:
125  bool UpdateGeometryAtlas();
126  void SetNominalGeometry();
127 
130 
133  HepGeom::Point3D<double> Point3DInDetector(eRPotName eRPName);
134 
135  StatusCode AddCOOLFolderCallback(const std::string& szFolder);
137 };
138 
139 #endif //ALFA_LOCRECCORR_h
ALFA_LocRecCorr::RecordCollection
StatusCode RecordCollection()
Definition: ALFA_LocRecCorr.cxx:538
ALFA_LocRecCorr::m_pointTransformInDetectorB7R1L
std::vector< double > m_pointTransformInDetectorB7R1L
Definition: ALFA_LocRecCorr.h:85
ALFA_UserObjects.h
ALFA_LocRecCorr::m_vecTransformInDetectorB7R1U
std::vector< double > m_vecTransformInDetectorB7R1U
Definition: ALFA_LocRecCorr.h:92
ALFA_LocRecCorr::RecordODCollection
StatusCode RecordODCollection()
Definition: ALFA_LocRecCorr.cxx:563
ALFA_ODDigitCollection.h
ALFA_LocRecCorr::m_strKeyLocRecCorrEvCollection
std::string m_strKeyLocRecCorrEvCollection
Definition: ALFA_LocRecCorr.h:108
ALFA_LocRecCorr::m_pLocRecCorrEvCollection
ALFA_LocRecCorrEvCollection * m_pLocRecCorrEvCollection
Definition: ALFA_LocRecCorr.h:66
ALFA_LocRecCorr::COOLUpdate
StatusCode COOLUpdate(IOVSVC_CALLBACK_ARGS_P(, keys))
Definition: ALFA_LocRecCorr.cxx:608
ALFA_LocRecCorr::execute
StatusCode execute()
Definition: ALFA_LocRecCorr.cxx:231
ALFA_LocRecCorr::UserTransform3DInDetector
HepGeom::Transform3D UserTransform3DInDetector(eRPotName eRPName)
Definition: ALFA_LocRecCorr.cxx:417
CondAttrListCollection.h
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
_USERTRANSFORM::vecRotation
CLHEP::Hep3Vector vecRotation
Definition: ALFA_DetectorTool.h:21
ALFA_LocRecCorr::m_vecTransformInStationB7L1L
std::vector< double > m_vecTransformInStationB7L1L
Definition: ALFA_LocRecCorr.h:97
ALFA_RawDataContainer.h
ALFA_LocRecCorr::m_strKeyGeometryForReco
std::string m_strKeyGeometryForReco
Definition: ALFA_LocRecCorr.h:105
eRPotName
eRPotName
Definition: ALFA_GeometryReader.h:28
ALFA_LocRecCorr::initialize
StatusCode initialize()
Definition: ALFA_LocRecCorr.cxx:179
ALFA_LocRecCorr::m_strKeyLocRecODEvCollection
std::string m_strKeyLocRecODEvCollection
Definition: ALFA_LocRecCorr.h:107
ALFA_GeometryReader.h
ALFA_LocRecCorr::UserTransform3DInStation
HepGeom::Transform3D UserTransform3DInStation(eRPotName eRPName)
Definition: ALFA_LocRecCorr.cxx:338
ALFA_LocRecCorr::m_pointTransformInDetectorA7R1U
std::vector< double > m_pointTransformInDetectorA7R1U
Definition: ALFA_LocRecCorr.h:86
RPOTSCNT
#define RPOTSCNT
Definition: ALFA_CLinkAlg.h:26
ALFA_LocRecCorr::m_vecTransformInStationB7R1U
std::vector< double > m_vecTransformInStationB7R1U
Definition: ALFA_LocRecCorr.h:100
ALFA_LocRecCorr::m_pointTransformInDetectorA7L1U
std::vector< double > m_pointTransformInDetectorA7L1U
Definition: ALFA_LocRecCorr.h:82
ALFA_LocRecCorrEvCollection
Definition: ALFA_LocRecCorrEvCollection.h:13
ALFA_LocRecCorr::m_vecTransformInDetectorB7R1L
std::vector< double > m_vecTransformInDetectorB7R1L
Definition: ALFA_LocRecCorr.h:93
IOVSVC_CALLBACK_ARGS_P
#define IOVSVC_CALLBACK_ARGS_P(I, K)
short hand for IOVSvc call back argument list, to be used when access to formal arguments is needed,...
Definition: IOVSvcDefs.h:42
AthenaAttributeList.h
GEOMETRYCONFIGURATION
Definition: ALFA_GeometryReader.h:197
ALFA_LocRecCorr::AddCOOLFolderCallback
StatusCode AddCOOLFolderCallback(const std::string &szFolder)
Definition: ALFA_LocRecCorr.cxx:589
_USERTRANSFORM::iRPot
int iRPot
Definition: ALFA_DetectorTool.h:19
ALFA_LocRecCorr::m_vecTransformInDetectorA7R1L
std::vector< double > m_vecTransformInDetectorA7R1L
Definition: ALFA_LocRecCorr.h:95
AthAlgorithm.h
ALFA_LocRecCorr::m_vecTransformInStationA7R1U
std::vector< double > m_vecTransformInStationA7R1U
Definition: ALFA_LocRecCorr.h:102
ALFA_constants.h
ALFA_LocRecCorrODEvCollection
Definition: ALFA_LocRecCorrODEvCollection.h:13
ALFA_LocRecCorr::m_vecTransformInStationA7L1L
std::vector< double > m_vecTransformInStationA7L1L
Definition: ALFA_LocRecCorr.h:99
ALFA_LocRecCorr::m_bIsTransformInDetector
std::vector< bool > m_bIsTransformInDetector
Definition: ALFA_LocRecCorr.h:79
ALFA_LocRecCorr::m_Config
GEOMETRYCONFIGURATION m_Config
Definition: ALFA_LocRecCorr.h:59
StoreGateSvc
The Athena Transient Store API.
Definition: StoreGateSvc.h:128
_USERTRANSFORM::vecTranslation
CLHEP::Hep3Vector vecTranslation
Definition: ALFA_DetectorTool.h:22
ALFA_LocRecCorr::m_strLocRecCollectionName
std::string m_strLocRecCollectionName
Definition: ALFA_LocRecCorr.h:72
ALFA_LocRecCorr::m_vecTransformInStationB7L1U
std::vector< double > m_vecTransformInStationB7L1U
Definition: ALFA_LocRecCorr.h:96
ALFA_LocRecCorr::m_vecTransformInStationA7R1L
std::vector< double > m_vecTransformInStationA7R1L
Definition: ALFA_LocRecCorr.h:103
ALFA_LocRecCorr::m_TransMatrixLHC
HepGeom::Transform3D m_TransMatrixLHC[RPOTSCNT]
Definition: ALFA_LocRecCorr.h:117
ALFA_RawData.h
PUSERTRANSFORM
struct _USERTRANSFORM * PUSERTRANSFORM
McEventCollection.h
ALFA_LocRecCorr::m_pGeometryReader
ALFA_GeometryReader * m_pGeometryReader
Definition: ALFA_LocRecCorr.h:60
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ALFA_LocRecCorr::m_bCoolData
bool m_bCoolData
Definition: ALFA_LocRecCorr.h:69
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
ALFA_LocRecCorrEvCollection.h
ALFA_LocRecCorr::UpdateGeometryAtlas
bool UpdateGeometryAtlas()
Definition: ALFA_LocRecCorr.cxx:664
ALFA_LocRecCorr::ALFA_LocRecCorr
ALFA_LocRecCorr(const std::string &name, ISvcLocator *pSvcLocator)
Definition: ALFA_LocRecCorr.cxx:13
ALFA_LocRecCorr::m_pointTransformInDetectorB7R1U
std::vector< double > m_pointTransformInDetectorB7R1U
Definition: ALFA_LocRecCorr.h:84
ALFA_LocRecCorr::m_pointTransformInDetectorB7L1L
std::vector< double > m_pointTransformInDetectorB7L1L
Definition: ALFA_LocRecCorr.h:81
ALFA_DigitCollection.h
AthAlgorithm
Definition: AthAlgorithm.h:47
ALFA_LocRecCorr::m_TransMatrixSt
HepGeom::Transform3D m_TransMatrixSt[RPOTSCNT]
Definition: ALFA_LocRecCorr.h:116
ALFA_LocRecCorr::m_iEvt
Int_t m_iEvt
Definition: ALFA_LocRecCorr.h:76
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
ALFA_LocRecCorr::m_vecTransformInDetectorA7R1U
std::vector< double > m_vecTransformInDetectorA7R1U
Definition: ALFA_LocRecCorr.h:94
USERTRANSFORM
struct _USERTRANSFORM USERTRANSFORM
ALFA_LocRecCorr::m_vecTransformInDetectorB7L1U
std::vector< double > m_vecTransformInDetectorB7L1U
Definition: ALFA_LocRecCorr.h:88
ALFA_LocRecEvCollection.h
_USERTRANSFORM::fAngle
double fAngle
Definition: ALFA_DetectorTool.h:20
ALFA_LocRecCorr::m_strKeyLocRecCorrODEvCollection
std::string m_strKeyLocRecCorrODEvCollection
Definition: ALFA_LocRecCorr.h:109
ALFA_LocRecCorr::SetNominalGeometry
void SetNominalGeometry()
Definition: ALFA_LocRecCorr.cxx:685
ALFA_LocRecCorr::m_vecTransformInDetectorA7L1L
std::vector< double > m_vecTransformInDetectorA7L1L
Definition: ALFA_LocRecCorr.h:91
ALFA_LocRecCorr::m_rootInputFileName
std::string m_rootInputFileName
Definition: ALFA_LocRecCorr.h:114
ALFA_LocRecCorr::m_pointTransformInDetectorA7L1L
std::vector< double > m_pointTransformInDetectorA7L1L
Definition: ALFA_LocRecCorr.h:83
ALFA_LocRecCorr::m_ListExistingRPots
std::list< eRPotName > m_ListExistingRPots
Definition: ALFA_LocRecCorr.h:70
ALFA_GeometryReader
Definition: ALFA_GeometryReader.h:216
ALFA_LocRecCorr::m_strKeyRawDataCollection
std::string m_strKeyRawDataCollection
Definition: ALFA_LocRecCorr.h:113
ALFA_LocRecCorr::m_vecTransformInDetectorA7L1U
std::vector< double > m_vecTransformInDetectorA7L1U
Definition: ALFA_LocRecCorr.h:90
ALFA_LocRecCorr::m_strCollectionName
std::string m_strCollectionName
Definition: ALFA_LocRecCorr.h:110
ALFA_LocRecCorr::m_pLocRecCorrODEvCollection
ALFA_LocRecCorrODEvCollection * m_pLocRecCorrODEvCollection
Definition: ALFA_LocRecCorr.h:67
_USERTRANSFORM
Definition: ALFA_DetectorTool.h:18
ALFA_LocRecCorr::m_pointTransformInDetectorB7L1U
std::vector< double > m_pointTransformInDetectorB7L1U
Definition: ALFA_LocRecCorr.h:80
ALFA_LocRecCorr::m_strKeyLocRecEvCollection
std::string m_strKeyLocRecEvCollection
Definition: ALFA_LocRecCorr.h:106
ALFA_LocRecCorr::m_pointTransformInDetectorA7R1L
std::vector< double > m_pointTransformInDetectorA7R1L
Definition: ALFA_LocRecCorr.h:87
ALFA_LocRecCorrODEvCollection.h
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
ALFA_LocRecCorr::m_bIsTransformInStation
std::vector< bool > m_bIsTransformInStation
Definition: ALFA_LocRecCorr.h:78
ALFA_LocRecCorr::finalize
StatusCode finalize()
Definition: ALFA_LocRecCorr.cxx:324
ALFA_LocRecCorr::m_iDataType
Int_t m_iDataType
Definition: ALFA_LocRecCorr.h:75
ALFA_LocRecODEvCollection.h
ALFA_RawDataCollection.h
ALFA_LocRecCorr::m_strLocRecODCollectionName
std::string m_strLocRecODCollectionName
Definition: ALFA_LocRecCorr.h:73
ALFA_LocRecCorr::m_vecTransformInStationA7L1U
std::vector< double > m_vecTransformInStationA7L1U
Definition: ALFA_LocRecCorr.h:98
ALFA_LocRecCorr::Point3DInDetector
HepGeom::Point3D< double > Point3DInDetector(eRPotName eRPName)
Definition: ALFA_LocRecCorr.cxx:496
ALFA_LocRecCorr::m_vecTransformInStationB7R1L
std::vector< double > m_vecTransformInStationB7R1L
Definition: ALFA_LocRecCorr.h:101
StoreGateSvc.h
ALFA_LocRecCorr::m_strTruthCollectionName
std::string m_strTruthCollectionName
Definition: ALFA_LocRecCorr.h:112
ALFA_LocRecCorr::~ALFA_LocRecCorr
~ALFA_LocRecCorr()
Definition: ALFA_LocRecCorr.cxx:171
ALFA_LocRecCorr::m_vecTransformInDetectorB7L1L
std::vector< double > m_vecTransformInDetectorB7L1L
Definition: ALFA_LocRecCorr.h:89
ALFA_LocRecCorr
Definition: ALFA_LocRecCorr.h:53
ALFA_LocRecCorr::m_strODCollectionName
std::string m_strODCollectionName
Definition: ALFA_LocRecCorr.h:111