Project
Loading...
Searching...
No Matches
AlignConfig.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
14
15#ifndef ALICEO2_ALIGN_CONFIG_H
16#define ALICEO2_ALIGN_CONFIG_H
17
21
22namespace o2
23{
24namespace align
25{
27struct AlignConfig : public o2::conf::ConfigurableParamHelper<AlignConfig> {
31
32 float maxStep = 3.; // max step for propagation
33 float maxSnp = 0.95; // max snp for propagation
35 float q2PtMin[NTrackTypes] = {0.01, 0.01};
36 float q2PtMax[NTrackTypes] = {10., 10.};
37 float tglMax[NTrackTypes] = {3., 10.};
38 float defPTB0Coll = 0.6;
39 float defPTB0Cosm = 3.0;
40 int minPoints[NTrackTypes] = {4, 10};
41 int minDetAcc[NTrackTypes] = {1, 1};
42
44
45 int verbose = 0;
46
47 int vtxMinCont = 2; // require min number of contributors in Vtx
48 int vtxMaxCont = 99999; // require max number of contributors in Vtx
49 int vtxMinContVC = 20; // min number of contributors to use as constraint
50
51 int minPointTotal = 4; // total min number of alignment point to account track
52 int minDetectors = 1; // min number of detectors per track
53 int minITSClusters = 4; // min ITS clusters to accept the track
54 int minTRDTracklets = 3; // min TRD tracklets to accept the track
55 int minTPCClusters = 10; // discard tracks with less clusters
56 int minTOFClusters = 1; // min TOF clusters to accept track
57 int maxTPCRowsCombined = 1; // allow combining clusters on so many rows to a single cluster
58 int discardEdgePadrows = 3; // discard padrow if its distance to stack edge padrow < this
59 float discardSectorEdgeDepth = 2.5; // discard clusters too close to the sector edge
60 float ITSOverlapMargin = 0.15; // consider for overlaps only clusters within this marging from the chip edge (in cm)
61 float ITSOverlapMaxChi2 = 16; // max chi2 between track and overlapping cluster
62 int ITSOverlapEdgeRows = 1; // require clusters to not have pixels closer than this distance from the edge
63 float ITSOverlapMaxDZ = 0.3; // max difference in Z for clusters on overlapping ITS chips to consider as candidate for a double hit
64
65 int minPointTotalCosm = 4; // total min number of alignment point to account cosmic track
66 int minDetectorsCosm = 1; // min number of detectors per cosmic track
67 int minITSClustersCosm = 0; // min ITS clusters to accept the cosmic track
68 int minITSClustersCosmLeg = 2; // min ITS clusters per leg to accept the cosmic track
69 int minTRDTrackletsCosm = 0; // min TRD tracklets to accept the cosmic track
70 int minTRDTrackletsCosmLeg = 2; // min TRD tracklets per leg to accept the cosmic track
71 int minTPCClustersCosm = 0; // discard cosmic tracks with less clusters
72 int minTPCClustersCosmLeg = 10; // discard cosmic tracks with less clusters per leg
73 int minTOFClustersCosm = 0; // min TOF clusters to accept track
74 int minTOFClustersCosmLeg = 1; // min TOF clusters per leg to accept track
75
76 int minTPCPadRow = 6; // min TPC pad-row to account
77 int maxTPCPadRow = 146; // max TPC pad-row to account
78
79 float cosmMaxDSnp = 0.025; // reject cosmic tracks with larger than this snp difference
80 float cosmMaxDTgl = 0.1; // reject cosmic tracks with larger than this tgl difference
81
82 float maxDCAforVC[2] = {-1, -1}; // DCA cut in R,Z to allow track be subjected to vertex constraint
83 float maxChi2forVC = -1; // track-vertex chi2 cut to allow the track be subjected to vertex constraint
84 float alignParamZero = 1e-13; // assign 0 to final alignment parameter if its abs val is below this threshold
85 float controlFraction = -1.; // fraction for which control output is requested, if negative - only 1st instance of device will write them
86 float MPRecOutFraction = -1.; // compact Millepede2Record fraction, if negative - only 1st instance of device will write them
87
88 bool MilleOut = true; // Mille output
89 bool KalmanResid = true; // Kalman residuals
90 bool MilleOutBin = true; // text vs binary output for mille data
91 bool GZipMilleOut = false; // compress binary records
92
93 std::string mpDatFileName{"mpData"}; // file name for records mille data output
94 std::string mpParFileName{"mpParams.txt"}; // file name for MP params
95 std::string mpConFileName{"mpConstraints.txt"}; // file name for MP constraints
96 std::string mpSteerFileName{"mpSteer.txt"}; // file name for MP steering
97 std::string residFileName{"mpContolRes"}; // file name for optional control residuals
98 std::string mpLabFileName{"mpResultsLabeled.txt"}; // file name for relabeled MP params
99 //
100 std::string outCDBPath{}; // output OCDB path
101 std::string outCDBComment{}; // optional comment to add to output cdb objects
102 std::string outCDBResponsible{}; // optional responsible for output metadata
103
104 O2ParamDef(AlignConfig, "alignConf");
105};
106
107} // namespace align
108} // namespace o2
109
110#endif
void align(gsl::span< ElinkEncoder< BareFormat, CHARGESUM > > elinks)
a couple of static helper functions to create timestamp values for CCDB queries or override obsolete ...
float tglMax[NTrackTypes]
Definition AlignConfig.h:37
std::string mpConFileName
Definition AlignConfig.h:95
std::string outCDBComment
std::string mpSteerFileName
Definition AlignConfig.h:96
int minPoints[NTrackTypes]
Definition AlignConfig.h:40
O2ParamDef(AlignConfig, "alignConf")
std::string mpLabFileName
Definition AlignConfig.h:98
float q2PtMax[NTrackTypes]
Definition AlignConfig.h:36
std::string residFileName
Definition AlignConfig.h:97
std::string mpParFileName
Definition AlignConfig.h:94
std::string mpDatFileName
Definition AlignConfig.h:93
int minDetAcc[NTrackTypes]
Definition AlignConfig.h:41
float q2PtMin[NTrackTypes]
Definition AlignConfig.h:35
std::string outCDBResponsible