Belle II Software  release-05-02-19
DATCONTrackingAddParameter.cc
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2013 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Christian Wessel *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #include <tracking/modules/DATCON/DATCONTrackingModule.h>
12 
13 using namespace std;
14 using namespace Belle2;
15 
16 void DATCONTrackingModule::addParameter()
17 {
18 // Define module parameters
19 
20  // 1. Collections
21  addParam("MCParticles", m_storeMCParticlesName,
22  "MCParticle collection name", string(""));
23  addParam("SVDSpacePoints", m_storeSVDSpacePointsName,
24  "Name of the SVDSpacePoints StoreArray.", string(""));
25  addParam("DATCONSVDDigits", m_storeDATCONSVDDigitsName,
26  "Name of the DATCONSVDDigits StoreArray", string("DATCONSVDDigits"));
27  addParam("DATCONSSVDCluster", m_storeDATCONSVDClusterName,
28  "Name of the DATCONSVDCluster StoreArray.", string("DATCONSVDCluster"));
29  addParam("DATCONSVDSpacePoints", m_storeDATCONSVDSpacePointsName,
30  "Name of the DATCONSVDSpacePoints StoreArray.", string("DATCONSVDSpacePoints"));
31  addParam("DATCONTracks", m_storeDATCONTracksName,
32  "DATCONTracks Collection", string(""));
33  addParam("DATCONRecoTracks", m_storeDATCONRecoTracksName,
34  "Name of the RecoTracks StoreArray.", string(""));
35 
36  // 2. Use DATCONSpacePoints or SVDSpacePoints?
37  addParam("UseDATCONSVDSpacePoints", m_useDATCONSVDSpacePoints,
38  "Use DATCONSVDSpacePoints for the DATCON", bool(true));
39  addParam("UseSVDSpacePoints", m_useSVDSpacePoints,
40  "Use SVDSpacePoints for the DATCON", bool(false));
41 
42  // 3. Hough Trafo Parameter
43  addParam("trackCenterX", m_trackCenterX,
44  "x coordinate of the track center (for conformal transformation)", double(0.0));
45  addParam("trackCenterY", m_trackCenterY,
46  "y coordinate of the track center (for conformal transformation)", double(0.0));
47  addParam("minimumLines", m_minimumLines,
48  "Minimum lines to be found in order to continue", (unsigned short)(3));
49  addParam("maxIterationsU", m_maxIterationsU,
50  "Critical iterations ones a cell becomes a track", int(6));
51  addParam("maxIterationsV", m_maxIterationsV,
52  "Critical iterations ones a cell becomes a track", int(5));
53  addParam("independentSectors", m_independentSectors,
54  "Independent number of sectors for x and y in HS (FPGA-like)", bool(false));
55  addParam("nAngleSectorsU", m_nAngleSectorsU,
56  "Number of sectors for HT in U", int(128));
57  addParam("nAngleSectorsV", m_nAngleSectorsV,
58  "Number of sectors for HT in V", int(64));
59  addParam("nVertSectorsU", m_nVertSectorsU,
60  "Number of sectors for HT in U", int(128));
61  addParam("nVertSectorsV", m_nVertSectorsV,
62  "Number of sectors for HT in V", int(64));
63  addParam("rectSizeU", m_rectSizeU,
64  "Size of rectangular in U", (double)(0.1));
65  addParam("rectSizeV", m_rectSizeV,
66  "Size of rectangular in V", (double)(2.0));
67 
68  // 3.1 What to do in Simulations for Phase 2:
69  addParam("usePhase2Simulation", m_usePhase2Simulation,
70  "Use Phase 2 Simulation setup and writ out strips for testing", bool(false));
71 
72  // 4. Extracting Information from the Hough Space
73  // 4.1 Use Purifier
74  addParam("UsePurifier", m_usePurifier,
75  "Bool variable to decide whether to use a purifying algorithm at all", bool(true));
76 
77  // 4.2 Use Hough Space Clustering
78  addParam("UseHoughSpaceClustering", m_useHoughSpaceClustering,
79  "Use clustering of the HS instead of purifier algorithms", bool(false));
80  addParam("MinimumPhiHSClusterSize", m_MinimumPhiHSClusterSize,
81  "Minimum size of cluster in HS", int(1));
82  addParam("MaximumPhiHSClusterSize", m_MaximumPhiHSClusterSize,
83  "Maximum size of cluster in HS", int(100));
84  addParam("MaximumPhiHSClusterSizeX", m_MaximumPhiHSClusterSizeX,
85  "Maximum size of cluster in HS in angular direction", int(100));
86  addParam("MaximumPhiHSClusterSizeY", m_MaximumPhiHSClusterSizeY,
87  "Maximum size of cluster in HS in vertical direction", int(100));
88  addParam("MinimumThetaHSClusterSize", m_MinimumThetaHSClusterSize,
89  "Minimum size of cluster in HS", int(1));
90  addParam("MaximumThetaHSClusterSize", m_MaximumThetaHSClusterSize,
91  "Maximum size of cluster in HS", int(100));
92  addParam("MaximumThetaHSClusterSizeX", m_MaximumThetaHSClusterSizeX,
93  "Maximum size of cluster in HS in angular direction", int(100));
94  addParam("MaximumThetaHSClusterSizeY", m_MaximumThetaHSClusterSizeY,
95  "Maximum size of cluster in HS in vertical direction", int(100));
96 
97  // 5. Merge TrackCandidates or Tracks?
98  addParam("UseTrackCandMerger", m_useTrackCandMerger,
99  "Use the track merger", bool(true));
100  addParam("UseTrackCandMergerU", m_useTrackCandMergerU,
101  "Use the track merger for u-side", bool(true));
102  addParam("UseTrackCandMergerV", m_useTrackCandMergerV,
103  "Use the track merger for v-side", bool(true));
104  addParam("MergeThreshold", m_mergeThreshold,
105  "Merge threshold", (double)(0.01));
106  addParam("MergeThresholdU", m_mergeThresholdU,
107  "Merge threshold", (double)(0.01));
108  addParam("MergeThresholdV", m_mergeThresholdV,
109  "Merge threshold", (double)(0.01));
110  addParam("UseTrackMerger", m_useTrackMerger,
111  "Use the track merger", bool(true));
112  addParam("MergeThresholdPhi", m_mergeThresholdPhi,
113  "Merge threshold for phi", (double)(0.01));
114  addParam("MergeThresholdTheta", m_mergeThresholdTheta,
115  "Merge threshold for theta", (double)(0.01));
116 
117 }
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19