CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CMSMidpointAlgorithm.h
Go to the documentation of this file.
1 #ifndef JetAlgorithms_CMSMidpointAlgorithm_h
2 #define JetAlgorithms_CMSMidpointAlgorithm_h
3 
26 
28 {
29  public:
30  typedef std::vector<ProtoJet*> InternalCollection;
31 
34  theSeedThreshold(3.0),
35  theConeRadius(0.5),
37  theMaxPairSize(2),
38  theMaxIterations(100),
39  theOverlapThreshold(0.75),
40  theDebugLevel(0)
41  { }
42 
65  CMSMidpointAlgorithm(double fSeedThreshold, double fConeRadius, double fConeAreaFraction,
66  int fMaxPairSize, int fMaxIterations, double fOverlapThreshold, int fDebugLevel) :
67  theSeedThreshold(fSeedThreshold),
68  theConeRadius(fConeRadius),
69  theConeAreaFraction(fConeAreaFraction),
70  theMaxPairSize(fMaxPairSize),
71  theMaxIterations(fMaxIterations),
72  theOverlapThreshold(fOverlapThreshold),
73  theDebugLevel(fDebugLevel)
74  { }
75 
78  void run(const JetReco::InputCollection& fInput, JetReco::OutputCollection* fOutput);
79 
80  private:
84 
87  void iterateCone(const JetReco::InputCollection& fInput,
88  double startRapidity, double startPhi, double startPt, bool reduceConeSize,
89  InternalCollection* fOutput);
90 
94 
98  std::vector<int>& testPair, std::vector<std::vector<int> >& pairs,
99  std::vector<std::vector<bool> >& distanceOK, int maxClustersInPair);
100 
103  void splitAndMerge(const JetReco::InputCollection& fInput,
104  InternalCollection* fProtoJets, JetReco::OutputCollection* fFinalJets);
105 
106 
114 };
115 
116 #endif
std::vector< ProtoJet > OutputCollection
Definition: JetRecoTypes.h:63
void splitAndMerge(const JetReco::InputCollection &fInput, InternalCollection *fProtoJets, JetReco::OutputCollection *fFinalJets)
CMSMidpointAlgorithm()
Default constructor.
void iterateCone(const JetReco::InputCollection &fInput, double startRapidity, double startPhi, double startPt, bool reduceConeSize, InternalCollection *fOutput)
std::vector< InputItem > InputCollection
Definition: JetRecoTypes.h:62
CMSMidpointAlgorithm(double fSeedThreshold, double fConeRadius, double fConeAreaFraction, int fMaxPairSize, int fMaxIterations, double fOverlapThreshold, int fDebugLevel)
void findStableConesFromSeeds(const JetReco::InputCollection &fInput, InternalCollection *fOutput)
void addClustersToPairs(const JetReco::InputCollection &fInput, std::vector< int > &testPair, std::vector< std::vector< int > > &pairs, std::vector< std::vector< bool > > &distanceOK, int maxClustersInPair)
void run(const JetReco::InputCollection &fInput, JetReco::OutputCollection *fOutput)
void findStableConesFromMidPoints(const JetReco::InputCollection &fInput, InternalCollection *fOutput)
std::vector< ProtoJet * > InternalCollection