#include <Puppi.h>
|
| | Puppi (double R0, double Rmin, double beta, double centralPTCutOffset, double centralPTCutSlope, double forwardPTCutOffset, double forwardPTCutSlope, double etaBoundary) |
| void | setParticles (const std::vector< fastjet::PseudoJet > &chargedHS, const std::vector< fastjet::PseudoJet > &chargedPU, const std::vector< fastjet::PseudoJet > &neutral, const std::vector< fastjet::PseudoJet > &forward, int nPU) |
| double | getWeight (const fastjet::PseudoJet &pfo) |
| double | getAlpha (const fastjet::PseudoJet &pfo) |
| double | getMedian () |
| double | getRMS () |
Definition at line 22 of file Puppi.h.
◆ Puppi()
| Puppi::Puppi |
( |
double | R0, |
|
|
double | Rmin, |
|
|
double | beta, |
|
|
double | centralPTCutOffset, |
|
|
double | centralPTCutSlope, |
|
|
double | forwardPTCutOffset, |
|
|
double | forwardPTCutSlope, |
|
|
double | etaBoundary ) |
Definition at line 19 of file Puppi.cxx.
19 :
21{}
double m_centralPTCutSlope
double m_centralPTCutOffset
double m_forwardPTCutOffset
double m_forwardPTCutSlope
◆ findAlphaMedianAndRMS()
| void Puppi::findAlphaMedianAndRMS |
( |
| ) |
|
|
private |
Definition at line 133 of file Puppi.cxx.
133 {
135
137
138
140
142 if(value > -999)
values.push_back(value);
143 }
144
146
149
150
153 for(auto value: values){
157 }
158
159 if(n > 0)
m_rms = TMath::Sqrt(sum/n);
161}
double getAlpha(const fastjet::PseudoJet &pfo)
std::vector< fastjet::PseudoJet > m_chargedPU
void sort(typename DataModel_detail::iterator< DVL > beg, typename DataModel_detail::iterator< DVL > end)
Specialization of sort for DataVector/List.
◆ getAlpha()
| double Puppi::getAlpha |
( |
const fastjet::PseudoJet & | pfo | ) |
|
Definition at line 83 of file Puppi.cxx.
83 {
84 fastjet::Selector
sel = fastjet::SelectorCircle(
m_R0);
85 sel.set_reference(pfo);
86
88 int nNeighbors=0;
89
92 for (const auto& p: chargedHSNeighbors){
93 float dR=pfo.delta_R(p);
96 nNeighbors+=1;
97 }
98 }
99 }
100
103 vector<fastjet::PseudoJet> neutralNeighbors =
sel(
m_neutral);
104 for (const auto& p: neutralNeighbors){
105 float dR=pfo.delta_R(p);
108 nNeighbors+=1;
109 }
110 }
111 }
112 }
113
115 vector<fastjet::PseudoJet> forwardNeighbors =
sel(
m_forward);
116 for (const auto& p: forwardNeighbors){
117 float dR=pfo.delta_R(p);
120 nNeighbors+=1;
121 }
122 }
123 }
124
125 if (sum<=FLT_MIN) return -99999;
126 if (nNeighbors!=0)
return log(sum);
127 return -9999;
128}
constexpr int pow(int base, int exp) noexcept
std::vector< fastjet::PseudoJet > m_chargedHS
bool m_includeCentralNeutralsInAlpha
std::vector< fastjet::PseudoJet > m_neutral
std::vector< fastjet::PseudoJet > m_forward
◆ getChi2()
| double Puppi::getChi2 |
( |
const fastjet::PseudoJet & | pfo | ) |
|
|
private |
Definition at line 42 of file Puppi.cxx.
42 {
44 return chi*fabs(chi);
45}
◆ getMedian()
| double Puppi::getMedian |
( |
| ) |
|
◆ getRMS()
◆ getWeight()
| double Puppi::getWeight |
( |
const fastjet::PseudoJet & | pfo | ) |
|
Definition at line 49 of file Puppi.cxx.
49 {
50
52 int nDF=1;
53
54 if(pfo.has_user_info<PuppiUserInfo>()){
55
56
57 chi2Total=fabs(chi2Total);
58 for(auto v: pfo.user_info<PuppiUserInfo>().otherChi2Vec) {
60 nDF+=1;
61 }
62 }
63
64 double w = ROOT::Math::chisquared_cdf(chi2Total, nDF);
65
70 }
71 else {
74 }
75
76 w*=(pfo.pt()>offset+
m_nPV*slope);
77
79}
double getChi2(const fastjet::PseudoJet &pfo)
◆ setParticles()
| void Puppi::setParticles |
( |
const std::vector< fastjet::PseudoJet > & | chargedHS, |
|
|
const std::vector< fastjet::PseudoJet > & | chargedPU, |
|
|
const std::vector< fastjet::PseudoJet > & | neutral, |
|
|
const std::vector< fastjet::PseudoJet > & | forward, |
|
|
int | nPU ) |
Definition at line 26 of file Puppi.cxx.
26 {
27
32
34
36
38}
void findAlphaMedianAndRMS()
std::vector< std::vector< fastjet::PseudoJet > * > m_allParticles
◆ m_allParticles
| std::vector< std::vector< fastjet::PseudoJet >* > Puppi::m_allParticles |
|
private |
◆ m_beta
◆ m_centralPTCutOffset
| double Puppi::m_centralPTCutOffset {} |
|
private |
◆ m_centralPTCutSlope
| double Puppi::m_centralPTCutSlope {} |
|
private |
◆ m_chargedHS
| std::vector<fastjet::PseudoJet> Puppi::m_chargedHS |
|
private |
◆ m_chargedPU
| std::vector<fastjet::PseudoJet> Puppi::m_chargedPU |
|
private |
◆ m_etaBoundary
| double Puppi::m_etaBoundary {} |
|
private |
◆ m_forward
| std::vector<fastjet::PseudoJet> Puppi::m_forward |
|
private |
◆ m_forwardPTCutOffset
| double Puppi::m_forwardPTCutOffset {} |
|
private |
◆ m_forwardPTCutSlope
| double Puppi::m_forwardPTCutSlope {} |
|
private |
◆ m_includeCentralNeutralsInAlpha
| bool Puppi::m_includeCentralNeutralsInAlpha {} |
|
private |
◆ m_median
| double Puppi::m_median {} |
|
private |
◆ m_neutral
| std::vector<fastjet::PseudoJet> Puppi::m_neutral |
|
private |
◆ m_nPV
◆ m_R0
◆ m_Rmin
◆ m_rms
The documentation for this class was generated from the following files: