@@ -43,7 +43,7 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
43
43
// // Pixel Cluster Cuts (@cell level)
44
44
desc.add <double >(" dzdrFact" , 8 .0f * 0 .0285f / 0 .015f );
45
45
desc.add <unsigned int >(" minYsizeB1" , 1 )
46
- ->setComment (" Cut on inner hit cluster size (in Y) for barrel-forward cells. Barrel 1 cut." );
46
+ ->setComment (" Cut on inner hit cluster size (in Y) for barrel-forward cells. Barrel 1 cut." );
47
47
desc.add <unsigned int >(" minYsizeB2" , 1 )
48
48
->setComment (" Cut on inner hit cluster size (in Y) for barrel-forward cells. Barrel 2 cut." );
49
49
desc.add <unsigned int >(" maxDYsize12" , 28 )
@@ -54,15 +54,35 @@ namespace ALPAKA_ACCELERATOR_NAMESPACE {
54
54
->setComment (" Cut on cluster size differences (in Y) for barrel-forward cells. Barrel-forward cells." );
55
55
56
56
// Container sizes
57
- desc.add <std::string>(" maxNumberOfDoublets" , std::to_string (pixelTopology::Phase1::maxNumberOfDoublets));
58
- desc.add <std::string>(" maxNumberOfTuples" , std::to_string (pixelTopology::Phase1::maxNumberOfTuples));
59
- desc.add <double >(" avgHitsPerTrack" , 5 .0f );
60
- desc.add <double >(" avgCellsPerHit" , 25 .0f );
61
- desc.add <double >(" avgCellsPerCell" , 2 .0f );
62
- desc.add <double >(" avgTracksPerCell" , 1 .0f );
57
+ //
58
+ // maxNumberOfDoublets and maxNumberOfTuples may be defined at runtime depending on the number of hits.
59
+ // This is done via a TFormula expecting 'x' as nHits.
60
+ // e.g. : maxNumberOfDoublets = cms.string( '0.00022*pow(x,2) + 0.53*x + 10000' )
61
+ // will compute maxNumberOfDoublets for each event as
62
+ //
63
+ // maxNumberOfDoublets = 2.2e-4 * nHits^2 + 0.53 * nHits + 10000
64
+ //
65
+ // this may also be simply a constant (as for the default parameters)
66
+ //
67
+ // maxNumberOfDoublets = cms.string(str(512*1024))
68
+ //
69
+
70
+ desc.add <std::string>(" maxNumberOfDoublets" , std::to_string (pixelTopology::Phase1::maxNumberOfDoublets))
71
+ ->setComment (" Max nummber of doublets (cells) as a string. The string will be parsed to a TFormula, depending on nHits (labeled 'x'), \n and evaluated for each event. May also be a constant." );
72
+ desc.add <std::string>(" maxNumberOfTuples" , std::to_string (pixelTopology::Phase1::maxNumberOfTuples))
73
+ ->setComment (" Max nummber of tuples as a string. Same behavior as maxNumberOfDoublets." );
74
+ desc.add <double >(" avgHitsPerTrack" , 5 .0f )
75
+ ->setComment (" Number of hits per track. Average per track." );
76
+ desc.add <double >(" avgCellsPerHit" , 25 .0f )
77
+ ->setComment (" Number of cells for which an hit is the outer hit. Average per hit." );
78
+ desc.add <double >(" avgCellsPerCell" , 2 .0f )
79
+ ->setComment (" Number of cells connected to another cell. Average per cell." );
80
+ desc.add <double >(" avgTracksPerCell" , 1 .0f )
81
+ ->setComment (" Number of tracks to which a cell belongs. Average per cell." );
63
82
64
83
// nTuplet Cuts and Params
65
84
desc.add <double >(" ptmin" , 0 .9f )->setComment (" Cut on minimum pt" );
85
+ // // p [GeV/c] = B [T] * R [m] * 0.3 (factor from conversion from J to GeV and q = e = 1.6 * 10e-19 C)
66
86
// // 87 cm/GeV = 1/(3.8T * 0.3)
67
87
// // take less than radius given by the hardPtCut and reject everything below
68
88
desc.add <double >(" hardCurvCut" , 1 .f / (0.35 * 87 .f ))
0 commit comments