Line | |
---|
1 | #ifndef _MIDPOINT_ALGORITHM_HH_
|
---|
2 | #define _MIDPOINT_ALGORITHM_HH_
|
---|
3 |
|
---|
4 | #include "PhysicsTower.hh"
|
---|
5 | #include "Cluster.hh"
|
---|
6 | #include <vector>
|
---|
7 |
|
---|
8 | class MidPointAlgorithm
|
---|
9 | {
|
---|
10 | private:
|
---|
11 | double _seedThreshold;
|
---|
12 | double _coneRadius;
|
---|
13 | double _coneAreaFraction;
|
---|
14 | int _maxPairSize;
|
---|
15 | int _maxIterations;
|
---|
16 | double _overlapThreshold;
|
---|
17 |
|
---|
18 | public:
|
---|
19 | MidPointAlgorithm():
|
---|
20 | _seedThreshold(1),
|
---|
21 | _coneRadius(0.7),
|
---|
22 | _coneAreaFraction(0.25),
|
---|
23 | _maxPairSize(2),
|
---|
24 | _maxIterations(100),
|
---|
25 | _overlapThreshold(0.75)
|
---|
26 | {}
|
---|
27 | MidPointAlgorithm(double st, double cr, double caf, int mps, int mi, double ot):
|
---|
28 | _seedThreshold(st),
|
---|
29 | _coneRadius(cr),
|
---|
30 | _coneAreaFraction(caf),
|
---|
31 | _maxPairSize(mps),
|
---|
32 | _maxIterations(mi),
|
---|
33 | _overlapThreshold(ot)
|
---|
34 | {}
|
---|
35 | void findStableConesFromSeeds(std::vector<PhysicsTower>& particles, std::vector<Cluster>& stableCones);
|
---|
36 | void findStableConesFromMidPoints(std::vector<PhysicsTower>& particles, std::vector<Cluster>& stableCones);
|
---|
37 | void iterateCone(double startRapidity, double startPhi, double startPt, std::vector<PhysicsTower>& particles,
|
---|
38 | std::vector<Cluster>& stableCones, bool reduceConeSize);
|
---|
39 | void addClustersToPairs(std::vector<int>& testPair, std::vector< std::vector<int> >& pairs,
|
---|
40 | std::vector< std::vector<bool> >& distanceOK, int maxClustersInPair);
|
---|
41 | void splitAndMerge(std::vector<Cluster>& stableCones, std::vector<Cluster>& jets);
|
---|
42 | void run(std::vector<PhysicsTower>& particles, std::vector<Cluster>& jets);
|
---|
43 | };
|
---|
44 |
|
---|
45 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.