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 
25 
27 {
28  public:
29  typedef std::vector<ProtoJet*> InternalCollection;
30 
33  theSeedThreshold(3.0),
34  theConeRadius(0.5),
36  theMaxPairSize(2),
37  theMaxIterations(100),
38  theOverlapThreshold(0.75),
39  theDebugLevel(0)
40  { }
41 
64  CMSMidpointAlgorithm(double fSeedThreshold, double fConeRadius, double fConeAreaFraction,
65  int fMaxPairSize, int fMaxIterations, double fOverlapThreshold, int fDebugLevel) :
66  theSeedThreshold(fSeedThreshold),
67  theConeRadius(fConeRadius),
68  theConeAreaFraction(fConeAreaFraction),
69  theMaxPairSize(fMaxPairSize),
70  theMaxIterations(fMaxIterations),
71  theOverlapThreshold(fOverlapThreshold),
72  theDebugLevel(fDebugLevel)
73  { }
74 
77  void run(const JetReco::InputCollection& fInput, JetReco::OutputCollection* fOutput);
78 
79  private:
83 
86  void iterateCone(const JetReco::InputCollection& fInput,
87  double startRapidity, double startPhi, double startPt, bool reduceConeSize,
88  InternalCollection* fOutput);
89 
93 
97  std::vector<int>& testPair, std::vector<std::vector<int> >& pairs,
98  std::vector<std::vector<bool> >& distanceOK, int maxClustersInPair);
99 
102  void splitAndMerge(const JetReco::InputCollection& fInput,
103  InternalCollection* fProtoJets, JetReco::OutputCollection* fFinalJets);
104 
105 
113 };
114 
115 #endif
std::vector< ProtoJet > OutputCollection
Definition: JetRecoTypes.h:62
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:61
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