Fork me on GitHub

source: svn/trunk/Utilities/Fastjet/plugins/CDFCones/interface/MidPointAlgorithm.hh@ 11

Last change on this file since 11 was 11, checked in by severine ovyn, 16 years ago

Fastjet added; CDFCones directory has been changed

File size: 1.7 KB
Line 
1#ifndef _MIDPOINT_ALGORITHM_HH_
2#define _MIDPOINT_ALGORITHM_HH_
3
4#include "../interface/PhysicsTower.hh"
5#include "../interface/Cluster.hh"
6#include <vector>
7
8class MidPointAlgorithm
9{
10 public:
11 enum SplitMergeScale {SM_pt, SM_Et, SM_mt, SM_pttilde};
12
13 private:
14 double _seedThreshold;
15 double _coneRadius;
16 double _coneAreaFraction;
17 int _maxPairSize;
18 int _maxIterations;
19 double _overlapThreshold;
20 SplitMergeScale _smScale;
21
22 public:
23 MidPointAlgorithm():
24 _seedThreshold(1),
25 _coneRadius(0.7),
26 _coneAreaFraction(0.25),
27 _maxPairSize(2),
28 _maxIterations(100),
29 _overlapThreshold(0.75),
30 _smScale(SM_pt)
31 {}
32 MidPointAlgorithm(double st, double cr, double caf, int mps, int mi, double ot, SplitMergeScale sm = SM_pt):
33 _seedThreshold(st),
34 _coneRadius(cr),
35 _coneAreaFraction(caf),
36 _maxPairSize(mps),
37 _maxIterations(mi),
38 _overlapThreshold(ot),
39 _smScale(sm)
40 {}
41 void findStableConesFromSeeds(std::vector<PhysicsTower>& particles, std::vector<Cluster>& stableCones);
42 void findStableConesFromMidPoints(std::vector<PhysicsTower>& particles, std::vector<Cluster>& stableCones);
43 void iterateCone(volatile double startRapidity, volatile double startPhi, volatile double startPt, std::vector<PhysicsTower>& particles,
44 std::vector<Cluster>& stableCones, bool reduceConeSize);
45 void addClustersToPairs(std::vector<int>& testPair, std::vector< std::vector<int> >& pairs,
46 std::vector< std::vector<bool> >& distanceOK, int maxClustersInPair);
47 void splitAndMerge(std::vector<Cluster>& stableCones, std::vector<Cluster>& jets);
48 void run(std::vector<PhysicsTower>& particles, std::vector<Cluster>& jets);
49
50 /// sort the clusters into whatever order is
51 void local_sort(std::vector<Cluster>&);
52
53};
54
55
56#endif
Note: See TracBrowser for help on using the repository browser.