Analysis Software
Documentation for
sPHENIX
simulation software
Home page
Related Pages
Modules
Namespaces
Classes
Files
Examples
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
ActsAlignmentStates.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file ActsAlignmentStates.h
1
#ifndef TRACKRECO_ACTSALIGNMENTSTATES_H
2
#define TRACKRECO_ACTSALIGNMENTSTATES_H
3
4
#include <
trackbase/TrkrDefs.h
>
5
6
#include <
Acts/Definitions/Algebra.hpp
>
7
8
#include <
ActsExamples/EventData/Trajectories.hpp
>
9
10
#include <
tpc/TpcClusterZCrossingCorrection.h
>
11
#include <
tpc/TpcDistortionCorrection.h
>
12
#include <
tpc/TpcDistortionCorrectionContainer.h
>
13
14
#include <
trackbase/ActsGeometry.h
>
15
#include <
trackbase/ActsTrackFittingAlgorithm.h
>
16
#include <
trackbase/ClusterErrorPara.h
>
17
#include <
trackbase_historic/SvtxAlignmentState.h
>
18
19
#include <string>
20
21
class
PHCompositeNode
;
22
class
SvtxTrack
;
23
class
SvtxAlignmentStateMap
;
24
class
ActsGeometry
;
25
class
TrkrClusterContainer
;
26
/*
27
* Helper class that contains functionality to fill alignment state
28
* map from Acts track fitter
29
*/
30
class
ActsAlignmentStates
31
{
32
public
:
33
using
Trajectory
=
ActsExamples::Trajectories
;
34
35
ActsAlignmentStates
() {}
36
~ActsAlignmentStates
() {}
37
38
void
fillAlignmentStateMap
(
const
ActsTrackFittingAlgorithm::TrackContainer
&
tracks
,
39
const
std::vector<Acts::MultiTrajectoryTraits::IndexType>& tips,
40
SvtxTrack
* track,
41
const
ActsTrackFittingAlgorithm::MeasurementContainer
& measurements);
42
void
verbosity
(
const
int
verb) {
m_verbosity
= verb; }
43
void
distortionContainers
(
TpcDistortionCorrectionContainer
* stat,
44
TpcDistortionCorrectionContainer
* average,
45
TpcDistortionCorrectionContainer
* fluc)
46
{
47
m_dcc_static
= stat;
48
m_dcc_average
= average;
49
m_dcc_fluctuation
= fluc;
50
}
51
void
actsGeometry
(
ActsGeometry
* geom) {
m_tGeometry
= geom; }
52
void
clusters
(
TrkrClusterContainer
* clus) {
m_clusterMap
= clus; }
53
void
stateMap
(
SvtxAlignmentStateMap
* map) {
m_alignmentStateMap
= map; }
54
void
fieldMap
(
std::string
& fieldmap) {
m_fieldMap
= fieldmap; }
55
56
private
:
57
void
makeTpcGlobalCorrections
(
TrkrDefs::cluskey
cluster_key,
short
int
crossing,
Acts::Vector3
& global);
58
59
std::pair<Acts::Vector3, Acts::Vector3>
get_projectionXY
(
const
Acts::Surface
&
surface
,
const
Acts::Vector3
& tangent);
60
SvtxAlignmentState::GlobalMatrix
makeGlobalDerivatives
(
const
Acts::Vector3
&
OM
,
const
std::pair<Acts::Vector3, Acts::Vector3>& projxy);
61
62
int
m_verbosity
= 0;
63
64
float
sensorAngles
[3] = {0.1, 0.1, 0.2};
// perturbation values for each alignment angle
65
66
ClusterErrorPara
m_clusErrPara
;
67
TpcDistortionCorrection
m_distortionCorrection
;
68
TpcClusterZCrossingCorrection
m_clusterCrossingCorrection
;
69
70
SvtxAlignmentStateMap
*
m_alignmentStateMap
=
nullptr
;
71
TrkrClusterContainer
*
m_clusterMap
=
nullptr
;
72
ActsGeometry
*
m_tGeometry
=
nullptr
;
73
TpcDistortionCorrectionContainer
*
m_dcc_static
=
nullptr
;
74
TpcDistortionCorrectionContainer
*
m_dcc_average
=
nullptr
;
75
TpcDistortionCorrectionContainer
*
m_dcc_fluctuation
=
nullptr
;
76
std::string
m_fieldMap
=
""
;
77
};
78
79
#endif
coresoftware
blob
master
offline
packages
trackreco
ActsAlignmentStates.h
Built by
Jin Huang
. updated:
Sat Feb 17 2024 22:18:10
using
1.8.2 with
sPHENIX GitHub integration