#include <CMSInsideOutAlgorithm.h>
|
| CMSInsideOutAlgorithm (double seedObjectPt, double growthParameter, double maxSize, double minSize) |
|
void | run (const std::vector< fastjet::PseudoJet > &fInput, std::vector< fastjet::PseudoJet > &fOutput) |
| Build from input candidate collection. More...
|
|
Definition at line 23 of file CMSInsideOutAlgorithm.h.
◆ inputListIter
◆ LorentzVector
◆ CMSInsideOutAlgorithm()
CMSInsideOutAlgorithm::CMSInsideOutAlgorithm |
( |
double |
seedObjectPt, |
|
|
double |
growthParameter, |
|
|
double |
maxSize, |
|
|
double |
minSize |
|
) |
| |
|
inline |
Constructor
- Parameters
-
seed | defines the minimum ET in GeV of an object that can seed the jet |
growthparameter | sets the growth parameter X, i.e. [dR < X/Et_jet] |
min/max | size define the min/max size of jet in deltaR. Min is included for resolution effects |
seedCharge | can be the following values; -1 [don't care], 0 neutral only, 1 [tracks only] |
Definition at line 50 of file CMSInsideOutAlgorithm.h.
◆ run()
void CMSInsideOutAlgorithm::run |
( |
const std::vector< fastjet::PseudoJet > & |
fInput, |
|
|
std::vector< fastjet::PseudoJet > & |
fOutput |
|
) |
| |
Build from input candidate collection.
Definition at line 7 of file CMSInsideOutAlgorithm.cc.
10 list<fastjet::PseudoJet>
input;
11 for (std::vector<fastjet::PseudoJet>::const_iterator candIter = fInput.begin(); candIter != fInput.end();
13 input.push_back(*candIter);
18 double seedEta =
input.front().eta();
19 double seedPhi =
input.front().phi();
22 list<inputListIter> maxCone;
25 maxCone.push_back(iCand++);
26 for (; iCand !=
input.end(); ++iCand) {
27 const fastjet::PseudoJet& candidate = *iCand;
29 maxCone.push_back(iCand);
32 maxCone.sort(ListIteratorLesserByDeltaR(seedEta, seedPhi));
33 list<inputListIter>::const_iterator
position = maxCone.begin();
34 bool limitReached =
false;
35 double totalET = (**position).perp();
37 while (
position != maxCone.end() && !limitReached) {
38 const fastjet::PseudoJet& theCandidate = **
position;
39 double candidateET = theCandidate.perp() + totalET;
40 double candDR2 =
reco::deltaR2(seedEta, theCandidate.eta(), seedPhi, theCandidate.phi());
42 totalET = candidateET;
48 fastjet::PseudoJet
final;
49 for (list<inputListIter>::const_iterator iNewJet = maxCone.begin(); iNewJet !=
position; ++iNewJet) {
51 input.erase(*iNewJet);
53 fOutput.push_back(
final);
References reco::deltaR2(), greaterByEtPseudoJet(), input, position, and jetUpdater_cfi::sort.
Referenced by CMSInsideOutJetProducer::runAlgorithm().
◆ growthParameterSquared_
double CMSInsideOutAlgorithm::growthParameterSquared_ |
|
private |
◆ maxSizeSquared_
double CMSInsideOutAlgorithm::maxSizeSquared_ |
|
private |
◆ minSizeSquared_
double CMSInsideOutAlgorithm::minSizeSquared_ |
|
private |
◆ seedThresholdPt_
double CMSInsideOutAlgorithm::seedThresholdPt_ |
|
private |