Analysis Software
Documentation for
sPHENIX
simulation software
Home page
Related Pages
Modules
Namespaces
Classes
Files
Examples
External Links
File List
File Members
Analysis Software
Deprecated List
Modules
Namespaces
Classes
Files
File List
acts
acts-fatras
analysis
analysis_tpc_prototype
coresoftware
blob
master
calibrations
generators
offline
database
framework
packages
CaloBase
CaloEmbedding
CaloReco
centrality
ClusterIso
compressor
decayfinder
epd
eventplaneinfo
globalvertex
Half
HFTrackEfficiency
intt
jetbackground
jetbase
KFParticle_sPHENIX
mbd
micromegas
mvtx
NodeDump
particleflow
PHField
PHGenFitPkg
PHGeometry
QAUtils
rawtodst
ResonanceJetTagging
tpc
tpccalib
tpcdaq
TPCHitTrackDisplay
trackbase
ActsAborter.h
ActsGeometry.cc
ActsGeometry.h
ActsGsfTrackFittingAlgorithm.h
ActsSourceLink.h
ActsSurfaceMaps.cc
ActsSurfaceMaps.h
ActsTrackFittingAlgorithm.h
ActsTrackingGeometry.h
AlignmentTransformation.cc
AlignmentTransformation.h
alignmentTransformationContainer.cc
alignmentTransformationContainer.h
alignmentTransformationContainerLinkDef.h
Calibrator.cc
Calibrator.h
ClusHitsVerbose.cc
ClusHitsVerbose.h
ClusHitsVerboseLinkDef.h
ClusHitsVerbosev1.cc
ClusHitsVerbosev1.h
ClusHitsVerbosev1LinkDef.h
ClusterErrorPara.cc
ClusterErrorPara.h
CMFlashCluster.h
CMFlashClusterContainer.h
CMFlashClusterContainerLinkDef.h
CMFlashClusterContainerv1.cc
CMFlashClusterContainerv1.h
CMFlashClusterContainerv1LinkDef.h
CMFlashClusterLinkDef.h
CMFlashClusterv1.cc
CMFlashClusterv1.h
CMFlashClusterv1LinkDef.h
CMFlashClusterv2.cc
CMFlashClusterv2.h
CMFlashClusterv2LinkDef.h
CMFlashClusterv3.cc
CMFlashClusterv3.h
CMFlashClusterv3LinkDef.h
CMFlashDifference.h
CMFlashDifferenceContainer.h
CMFlashDifferenceContainerLinkDef.h
CMFlashDifferenceContainerv1.cc
CMFlashDifferenceContainerv1.h
CMFlashDifferenceContainerv1LinkDef.h
CMFlashDifferenceLinkDef.h
CMFlashDifferencev1.cc
CMFlashDifferencev1.h
CMFlashDifferencev1LinkDef.h
InttDefs.cc
InttDefs.h
InttEventInfo.cc
InttEventInfo.h
InttEventInfoLinkDef.h
InttEventInfov1.cc
InttEventInfov1.h
InttEventInfov1LinkDef.h
MvtxDefs.cc
MvtxDefs.h
MvtxEventInfo.cc
MvtxEventInfo.h
MvtxEventInfoLinkDef.h
MvtxEventInfov1.cc
MvtxEventInfov1.h
MvtxEventInfov1LinkDef.h
MvtxEventInfov2.cc
MvtxEventInfov2.h
MvtxEventInfov2LinkDef.h
RawHit.h
RawHitLinkDef.h
RawHitSet.cc
RawHitSet.h
RawHitSetContainer.cc
RawHitSetContainer.h
RawHitSetContainerLinkDef.h
RawHitSetContainerv1.cc
RawHitSetContainerv1.h
RawHitSetContainerv1LinkDef.h
RawHitSetLinkDef.h
RawHitSetv1.cc
RawHitSetv1.h
RawHitSetv1LinkDef.h
RawHitTpc.cc
RawHitTpc.h
RawHitTpcLinkDef.h
RawHitv1.cc
RawHitv1.h
RawHitv1LinkDef.h
ResidualOutlierFinder.h
SpacePoint.h
sPHENIXActsDetectorElement.cc
sPHENIXActsDetectorElement.h
TpcDefs.cc
TpcDefs.h
TpcSeedTrackMap.cc
TpcSeedTrackMap.h
TpcSeedTrackMapLinkDef.h
TpcSeedTrackMapv1.cc
TpcSeedTrackMapv1.h
TpcSeedTrackMapv1LinkDef.h
TpcTpotEventInfo.h
TpcTpotEventInfoLinkDef.h
TpcTpotEventInfov1.cc
TpcTpotEventInfov1.h
TpcTpotEventInfov1LinkDef.h
TrackFittingAlgorithmFunctionsGsf.cc
TrackFittingAlgorithmFunctionsKalman.cc
TrackFitUtils.cc
TrackFitUtils.h
TrkrCluster.h
TrkrClusterContainer.cc
TrkrClusterContainer.h
TrkrClusterContainerLinkDef.h
TrkrClusterContainerv1.cc
TrkrClusterContainerv1.h
TrkrClusterContainerv1LinkDef.h
TrkrClusterContainerv2.cc
TrkrClusterContainerv2.h
TrkrClusterContainerv2LinkDef.h
TrkrClusterContainerv3.cc
TrkrClusterContainerv3.h
TrkrClusterContainerv3LinkDef.h
TrkrClusterContainerv4.cc
TrkrClusterContainerv4.h
TrkrClusterContainerv4LinkDef.h
TrkrClusterCrossingAssoc.cc
TrkrClusterCrossingAssoc.h
TrkrClusterCrossingAssocLinkDef.h
TrkrClusterCrossingAssocv1.cc
TrkrClusterCrossingAssocv1.h
TrkrClusterCrossingAssocv1LinkDef.h
TrkrClusterHitAssoc.cc
TrkrClusterHitAssoc.h
TrkrClusterHitAssocLinkDef.h
TrkrClusterHitAssocv1.cc
TrkrClusterHitAssocv1.h
TrkrClusterHitAssocv1LinkDef.h
TrkrClusterHitAssocv2.cc
TrkrClusterHitAssocv2.h
TrkrClusterHitAssocv2LinkDef.h
TrkrClusterHitAssocv3.cc
TrkrClusterHitAssocv3.h
TrkrClusterHitAssocv3LinkDef.h
TrkrClusterIterationMap.cc
TrkrClusterIterationMap.h
TrkrClusterIterationMapLinkDef.h
TrkrClusterIterationMapv1.cc
TrkrClusterIterationMapv1.h
TrkrClusterIterationMapv1LinkDef.h
TrkrClusterLinkDef.h
TrkrClusterv1.cc
TrkrClusterv1.h
TrkrClusterv1LinkDef.h
TrkrClusterv2.cc
TrkrClusterv2.h
TrkrClusterv2LinkDef.h
TrkrClusterv3.cc
TrkrClusterv3.h
TrkrClusterv3LinkDef.h
TrkrClusterv4.cc
TrkrClusterv4.h
TrkrClusterv4LinkDef.h
TrkrClusterv5.cc
TrkrClusterv5.h
TrkrClusterv5LinkDef.h
TrkrDefs.cc
TrkrDefs.h
TrkrHit.h
TrkrHitLinkDef.h
TrkrHitSet.cc
TrkrHitSet.h
TrkrHitSetContainer.cc
TrkrHitSetContainer.h
TrkrHitSetContainerLinkDef.h
TrkrHitSetContainerv1.cc
TrkrHitSetContainerv1.h
TrkrHitSetContainerv1LinkDef.h
TrkrHitSetLinkDef.h
TrkrHitSetv1.cc
TrkrHitSetv1.h
TrkrHitSetv1LinkDef.h
TrkrHitTruthAssoc.h
TrkrHitTruthAssocLinkDef.h
TrkrHitTruthAssocv1.cc
TrkrHitTruthAssocv1.h
TrkrHitTruthAssocv1LinkDef.h
TrkrHitv1.cc
TrkrHitv1.h
TrkrHitv1LinkDef.h
TrkrHitv2.cc
TrkrHitv2.h
TrkrHitv2LinkDef.h
trackbase_historic
TrackerMillepedeAlignment
TrackingDiagnostics
trackreco
trigger
vararray
QA
simulation
validation
Doxygen_Assist
g4exampledetector
GenFit
JETSCAPE
KFParticle
macros
online_distribution
OnlMon
prototype
pythia6
rcdaq
RDBC
tutorials
doxygen_mainpage.h
File Members
Examples
External Links
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
AlignmentTransformation.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file AlignmentTransformation.h
1
#ifndef TRACKBASE_ALIGNMENTTRANSFORMATION_H
2
#define TRACKBASE_ALIGNMENTTRANSFORMATION_H
3
4
#include "
alignmentTransformationContainer.h
"
5
#include "
TrkrDefs.h
"
6
7
#include <Eigen/Dense>
8
#include <Eigen/Geometry>
9
10
#include <map>
11
#include <random>
12
13
14
15
class
PHCompositeNode
;
16
17
class
ActsGeometry
;
18
19
class
AlignmentTransformation
{
20
21
public
:
22
AlignmentTransformation
() =
default
;
23
24
~AlignmentTransformation
(){}
25
26
void
createMap
(
PHCompositeNode
* topNode);
27
void
createAlignmentTransformContainer
(
PHCompositeNode
* topNode);
28
29
void
generateRandomPerturbations
(Eigen::Vector3d angleDev, Eigen::Vector3d transformDev);
30
31
bool
perturbMVTX
=
false
;
32
bool
perturbINTT
=
false
;
33
bool
perturbTPC
=
false
;
34
bool
perturbMM
=
false
;
35
36
Eigen::Vector3d
perturbationAngles
= Eigen::Vector3d(0.0,0.0,0.0);
37
Eigen::Vector3d
perturbationTranslation
= Eigen::Vector3d(0.0,0.0,0.0);
38
39
void
setMVTXParams
(
double
mvtxDevs[6])
40
{
41
mvtxAngleDev
(0) = mvtxDevs[0];
42
mvtxAngleDev
(1) = mvtxDevs[1];
43
mvtxAngleDev
(2) = mvtxDevs[2];
44
mvtxTransDev
(0) = mvtxDevs[3];
45
mvtxTransDev
(1) = mvtxDevs[4];
46
mvtxTransDev
(2) = mvtxDevs[5];
47
48
perturbMVTX
=
true
;
49
50
if
(
localVerbosity
)
51
{
52
std::cout <<
"perturbMVTX: "
<<
perturbMVTX
<<
" MVTX Angle Std Dev: "
<<
mvtxAngleDev
<<
"MVTX Trans Std Dev:"
<<
mvtxTransDev
<< std::endl;
53
}
54
}
55
56
void
setINTTParams
(
double
inttDevs[6])
57
{
58
inttAngleDev
(0) = inttDevs[0];
59
inttAngleDev
(1) = inttDevs[1];
60
inttAngleDev
(2) = inttDevs[2];
61
inttTransDev
(0) = inttDevs[3];
62
inttTransDev
(1) = inttDevs[4];
63
inttTransDev
(2) = inttDevs[5];
64
65
perturbINTT
=
true
;
66
67
if
(
localVerbosity
)
68
{
69
std::cout <<
"perturbINTT: "
<<
perturbINTT
<<
" INTT Angle Std Dev: "
<<
inttAngleDev
<<
"INTT Trans Std Dev:"
<<
inttTransDev
<< std::endl;
70
}
71
}
72
void
setTPCParams
(
double
tpcDevs[6])
73
{
74
tpcAngleDev
(0) = tpcDevs[0];
75
tpcAngleDev
(1) = tpcDevs[1];
76
tpcAngleDev
(2) = tpcDevs[2];
77
tpcTransDev
(0) = tpcDevs[3];
78
tpcTransDev
(1) = tpcDevs[4];
79
tpcTransDev
(2) = tpcDevs[5];
80
81
perturbTPC
=
true
;
82
83
if
(
localVerbosity
)
84
{
85
std::cout <<
"perturbTPC: "
<<
perturbTPC
<<
" TPC Angle Std Dev: "
<<
tpcAngleDev
<<
"TPC Trans Std Dev:"
<<
tpcTransDev
<< std::endl;
86
}
87
}
88
void
setMMParams
(
double
mmDevs[6])
89
{
90
mmAngleDev
(0) = mmDevs[0];
91
mmAngleDev
(1) = mmDevs[1];
92
mmAngleDev
(2) = mmDevs[2];
93
mmTransDev
(0) = mmDevs[3];
94
mmTransDev
(1) = mmDevs[4];
95
mmTransDev
(2) = mmDevs[5];
96
97
perturbMM
=
true
;
98
99
if
(
localVerbosity
)
100
{
101
std::cout <<
"perturbMM: "
<<
perturbMM
<<
" MM Angle Std Dev: "
<<
mmAngleDev
<<
"MM Trans Std Dev:"
<<
mmTransDev
<< std::endl;
102
}
103
}
104
105
void
verbosity
() {
localVerbosity
= 1;}
106
void
misalignmentFactor
(uint8_t
layer
,
const
double
factor);
107
void
useInttSurveyGeometry
(
bool
sur) {
use_intt_survey_geometry
= sur;}
108
109
private
:
110
111
Eigen::Vector3d
mvtxAngleDev
;
112
Eigen::Vector3d
mvtxTransDev
;
113
Eigen::Vector3d
inttAngleDev
;
114
Eigen::Vector3d
inttTransDev
;
115
Eigen::Vector3d
tpcAngleDev
;
116
Eigen::Vector3d
tpcTransDev
;
117
Eigen::Vector3d
mmAngleDev
;
118
Eigen::Vector3d
mmTransDev
;
119
120
std::default_random_engine
generator
;
121
122
std::string
alignmentParamsFile
=
"./localAlignmentParamsFile.txt"
;
123
124
int
localVerbosity
= 0;
125
126
bool
use_global_millepede_translations
=
true
;
127
bool
use_intt_survey_geometry
=
false
;
128
129
Acts::Transform3
newMakeTransform
(
Surface
surf
, Eigen::Vector3d& millepedeTranslation, Eigen::Vector3d& sensorAngles,
bool
survey);
130
131
alignmentTransformationContainer
*
transformMap
= NULL;
132
alignmentTransformationContainer
*
transformMapTransient
= NULL;
133
ActsGeometry
*
m_tGeometry
= NULL;
134
135
int
getNodes
(
PHCompositeNode
* topNode);
136
137
};
138
139
#endif
coresoftware
blob
master
offline
packages
trackbase
AlignmentTransformation.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:08
using
1.8.2 with
sPHENIX GitHub integration