Main Page
Namespaces
Classes
Package Documentation
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
src
RecoJets
JetAlgorithms
interface
CMSInsideOutAlgorithm.h
Go to the documentation of this file.
1
#ifndef RecoJets_JetAlgorithms_CMSInsideOutAlgorithm_h
2
#define RecoJets_JetAlgorithms_CMSInsideOutAlgorithm_h
3
13
#include <list>
14
#include <algorithm>
15
16
#include "
DataFormats/Candidate/interface/Candidate.h
"
17
#include "
DataFormats/Math/interface/deltaR.h
"
18
#include <limits>
19
#include <vector>
20
#include <list>
21
22
#include "fastjet/PseudoJet.hh"
23
24
25
26
27
class
CMSInsideOutAlgorithm
{
28
public
:
29
typedef
reco::Particle::LorentzVector
LorentzVector
;
30
typedef
std::list<fastjet::PseudoJet>::iterator
inputListIter
;
31
// binary predicate to sort a std::list of std::list<InputItem> iterators by increasing deltaR
32
// from a eta-phi point specified in the ctor
33
class
ListIteratorLesserByDeltaR
{
34
public
:
ListIteratorLesserByDeltaR
(
const
double
&
eta
,
const
double
&
phi
):
seedEta_
(eta),
seedPhi_
(phi){}
35
bool
operator()
(
const
inputListIter
&
A
,
const
inputListIter
&
B
)
const
{
36
double
deltaR2A =
reco::deltaR2
( (*A).eta(),
seedEta_
, (*A).phi(),
seedPhi_
);
37
double
deltaR2B =
reco::deltaR2
( (*B).eta(),
seedEta_
, (*B).phi(),
seedPhi_
);
38
return
39
fabs(deltaR2A - deltaR2B) >
std::numeric_limits<double>::epsilon
() ? deltaR2A < deltaR2B :
40
reco::deltaPhi
((*A).phi(),
seedPhi_
) <
reco::deltaPhi
((*B).phi(),
seedPhi_
);
41
};
42
private
:
43
double
seedEta_
,
seedPhi_
;
44
};
45
52
CMSInsideOutAlgorithm
(
double
seedObjectPt,
double
growthParameter,
double
maxSize
,
double
minSize):
53
seedThresholdPt_
(seedObjectPt),
54
growthParameterSquared_
(growthParameter*growthParameter),
55
maxSizeSquared_
(maxSize*maxSize),
56
minSizeSquared_
(minSize*minSize){};
57
58
59
61
void
run
(
const
std::vector<fastjet::PseudoJet>& fInput, std::vector<fastjet::PseudoJet> & fOutput);
62
63
private
:
64
double
seedThresholdPt_
;
65
double
growthParameterSquared_
;
66
double
maxSizeSquared_
;
67
double
minSizeSquared_
;
68
};
69
70
#endif
CMSInsideOutAlgorithm::ListIteratorLesserByDeltaR::seedEta_
double seedEta_
Definition:
CMSInsideOutAlgorithm.h:41
CMSInsideOutAlgorithm
Definition:
CMSInsideOutAlgorithm.h:27
CMSInsideOutAlgorithm::ListIteratorLesserByDeltaR::seedPhi_
double seedPhi_
Definition:
CMSInsideOutAlgorithm.h:41
CMSInsideOutAlgorithm::growthParameterSquared_
double growthParameterSquared_
Definition:
CMSInsideOutAlgorithm.h:65
eta
T eta() const
Definition:
Basic3DVectorLD.h:179
CMSInsideOutAlgorithm::inputListIter
std::list< fastjet::PseudoJet >::iterator inputListIter
Definition:
CMSInsideOutAlgorithm.h:30
double_binary
Definition:
DDStreamer.cc:227
Candidate.h
CMSInsideOutAlgorithm::LorentzVector
reco::Particle::LorentzVector LorentzVector
Definition:
CMSInsideOutAlgorithm.h:29
CMSInsideOutAlgorithm::seedThresholdPt_
double seedThresholdPt_
Definition:
CMSInsideOutAlgorithm.h:64
deltaR.h
reco_skim_cfg_mod.maxSize
tuple maxSize
'/store/data/Commissioning08/BeamHalo/RECO/StuffAlmostToP5_v1/000/061/642/10A0FE34-A67D-DD11-AD05-000...
Definition:
reco_skim_cfg_mod.py:154
CMSInsideOutAlgorithm::minSizeSquared_
double minSizeSquared_
Definition:
CMSInsideOutAlgorithm.h:67
CMSInsideOutAlgorithm::CMSInsideOutAlgorithm
CMSInsideOutAlgorithm(double seedObjectPt, double growthParameter, double maxSize, double minSize)
Definition:
CMSInsideOutAlgorithm.h:52
CMSInsideOutAlgorithm::ListIteratorLesserByDeltaR
Definition:
CMSInsideOutAlgorithm.h:33
reco::deltaPhi
double deltaPhi(double phi1, double phi2)
Definition:
deltaPhi.h:12
CMSInsideOutAlgorithm::ListIteratorLesserByDeltaR::ListIteratorLesserByDeltaR
ListIteratorLesserByDeltaR(const double &eta, const double &phi)
Definition:
CMSInsideOutAlgorithm.h:34
reco::deltaR2
T1 deltaR2(T1 eta1, T2 phi1, T3 eta2, T4 phi2)
Definition:
deltaR.h:58
CMSInsideOutAlgorithm::ListIteratorLesserByDeltaR::operator()
bool operator()(const inputListIter &A, const inputListIter &B) const
Definition:
CMSInsideOutAlgorithm.h:35
CMSInsideOutAlgorithm::maxSizeSquared_
double maxSizeSquared_
Definition:
CMSInsideOutAlgorithm.h:66
CMSInsideOutAlgorithm::run
void run(const std::vector< fastjet::PseudoJet > &fInput, std::vector< fastjet::PseudoJet > &fOutput)
Build from input candidate collection.
Definition:
CMSInsideOutAlgorithm.cc:9
epsilon
const double epsilon
Definition:
CosmicMuonParameters.h:70
funct::A
A
Definition:
Factorize.h:54
reco::Particle::LorentzVector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition:
Particle.h:27
phi
Definition:
DDAxes.h:10
Generated for CMSSW Reference Manual by
1.8.5