1 #ifndef Analysis_Tools_Jet_h 2 #define Analysis_Tools_Jet_h 1 24 #include <boost/any.hpp> 60 Jet(
const float & pt,
const float & eta,
const float & phi,
const float & e);
62 Jet(
const TLorentzVector & p4);
73 float btag(
const std::string & )
const;
77 int flavour(
const std::string & )
const;
83 bool id(
const std::string & wp =
"tight" )
const;
85 float jecUncert()
const;
87 std::vector<int> flavours()
const;
89 std::string extendedFlavour()
const;
91 std::vector< std::shared_ptr<GenParticle> > partons()
const;
93 float jerPtResolution()
const;
101 float jerSFdown()
const;
105 float jerSFup()
const;
110 bool jerMatch(
const std::string &);
111 bool jerMatch(
const float & drmin=0.2);
112 bool jerMatch()
const;
114 void jerCorrections();
115 float jerCorrection(
const std::string & var =
"nominal",
const float & nsig = 1)
const;
117 float neutralHadronFraction()
const ;
118 float neutralEmFraction()
const ;
119 float neutralMultiplicity()
const ;
120 float chargedHadronFraction()
const ;
121 float chargedEmFraction()
const ;
122 float chargedMultiplicity()
const ;
123 float muonFraction()
const ;
124 float constituents()
const ;
127 float qgLikelihood()
const;
130 float pileupJetIdFullDiscriminant()
const;
131 int pileupJetIdFullId()
const;
132 bool pileupJetIdFullId(
const std::string & wp)
const;
135 float bRegCorr()
const;
136 float bRegRes()
const;
142 double btagSF (std::shared_ptr<BTagCalibrationReader> reader,
const std::string & flavalgo =
"Hadron")
const;
143 double btagSFup (std::shared_ptr<BTagCalibrationReader> reader,
const float & nsig = 1,
const std::string & flavalgo =
"Hadron")
const;
144 double btagSFdown(std::shared_ptr<BTagCalibrationReader> reader,
const float & nsig = 1,
const std::string & flavalgo =
"Hadron")
const;
145 double btagSFsys (std::shared_ptr<BTagCalibrationReader> reader,
const std::string & systype =
"central",
const std::string & flavalgo =
"Hadron")
const;
151 std::shared_ptr<Muon> muon()
const;
154 std::shared_ptr<GenJet> generatedJet()
const;
159 void isPuppi(
const bool &);
161 void btag(
const float &);
163 void btag(
const std::string &,
const float &);
165 void btagAlgo(
const std::string & );
167 void flavour(
const int &);
169 void flavour(
const std::string & definition,
const int & value);
171 void idLoose(
const bool &);
173 void idTight(
const bool &);
175 void jecUncert(
const float &);
177 void jerPtResolution(
const float &);
179 void jerSF(
const float &);
181 void jerSFup(
const float &);
183 void jerSFdown(
const float &);
190 void addParton(
const std::shared_ptr<GenParticle> &);
192 int removeParton(
const int &);
194 void neutralHadronFraction(
const float & nHadFrac);
195 void neutralEmFraction(
const float & nEmFrac);
196 void neutralMultiplicity(
const float & nMult);
197 void chargedHadronFraction(
const float & cHadFrac);
198 void chargedEmFraction(
const float & cEmFrac);
199 void chargedMultiplicity(
const float & cMult);
200 void muonFraction(
const float & muFrac);
211 void id(
const float & nHadFrac,
212 const float & nEmFrac ,
213 const float & nMult ,
214 const float & cHadFrac,
215 const float & cEmFrac ,
216 const float & cMult ,
217 const float & muFrac ,
218 const float & puppi );
221 void qgLikelihood(
const float & discr);
224 void pileupJetIdFullDiscriminant(
const float & discr);
225 void pileupJetIdFullId(
const int &
id);
228 void bRegCorr(
const float &);
229 void bRegRes(
const float &);
231 void applyBjetRegression();
234 void rho(
const double &);
238 void associatePartons(
const std::vector< std::shared_ptr<GenParticle> > &,
const float & dRmax = 0.5,
const float & ptMin = 1.,
const bool & pythi8 =
true );
242 void genJets(
const std::vector< std::shared_ptr<GenJet> > &);
250 void addMuon(std::shared_ptr<Muon>);
252 void addMuon(std::vector< std::shared_ptr<Muon> > muons,
const float & dr = 0.4);
257 void generatedJet(std::shared_ptr<GenJet>);
279 std::vector< std::shared_ptr<GenParticle> >
partons_;
346 #endif // Analysis_Tools_Jet_h