14 |
|
class ClusterSequence; |
15 |
|
} |
16 |
|
|
17 |
< |
#include "fastjet/PseudoJet.hh"; |
17 |
> |
#include "TObject.h" |
18 |
> |
#include "TParticle.h" |
19 |
> |
#include "TLorentzVector.h" |
20 |
|
|
21 |
< |
#include "TParticle.h"; |
20 |
< |
#include "TLorentzVector.h"; |
21 |
< |
|
22 |
< |
class UltraFastSim { |
21 |
> |
class UltraFastSim : public TObject { |
22 |
|
|
23 |
|
public: |
24 |
|
|
25 |
< |
UltraFastSim(Pythia8::Rndm *r); |
25 |
> |
UltraFastSim() {;} |
26 |
|
|
27 |
|
virtual ~UltraFastSim() {;} |
28 |
|
|
29 |
< |
bool run(Pythia8::Event &event); |
29 |
> |
bool run(Pythia8::Event &event, Pythia8::Rndm *r); |
30 |
|
|
31 |
|
const std::vector<TParticle>& genTauList() {return genTaus;} |
32 |
|
const std::vector<TParticle>& visTauList() {return visTaus;} |
35 |
|
const std::vector<TParticle>& photonList() {return photons;} |
36 |
|
const std::vector<TParticle>& electronList() {return electrons;} |
37 |
|
const std::vector<TParticle>& muonList() {return muons;} |
38 |
+ |
const std::vector<TParticle>& muonListStdGeom() {return muonsStdGeom;} |
39 |
|
const std::vector<TParticle>& tauList() {return taus;} |
40 |
|
const std::vector<TParticle>& chargedHadronList() {return chargedHadrons;} |
41 |
|
const std::vector<TParticle>& neutralHadronList() {return neutralHadrons;} |
42 |
< |
const std::vector<fastjet::PseudoJet>& jetList() {return jets;} |
43 |
< |
const std::vector<fastjet::PseudoJet>& bJetList() {return bJets;} |
44 |
< |
const std::vector<fastjet::PseudoJet>& bJetListStdGeom() {return bJetsStdGeom;} |
42 |
> |
const std::vector<TLorentzVector>& jetList() {return jets;} |
43 |
> |
const std::vector<TLorentzVector>& bJetListLoose() {return bJetsLoose;} |
44 |
> |
const std::vector<TLorentzVector>& bJetListLooseStdGeom() {return bJetsLooseStdGeom;} |
45 |
> |
const std::vector<TLorentzVector>& bJetListMedium() {return bJetsMedium;} |
46 |
> |
const std::vector<TLorentzVector>& bJetListMediumStdGeom() {return bJetsMediumStdGeom;} |
47 |
> |
const std::vector<TLorentzVector>& bJetListTight() {return bJetsTight;} |
48 |
> |
const std::vector<TLorentzVector>& bJetListTightStdGeom() {return bJetsTightStdGeom;} |
49 |
|
|
50 |
|
const TLorentzVector& getMET() {return MET;} |
51 |
|
const TLorentzVector& getMHT() {return MHT;} |
55 |
|
|
56 |
|
private: |
57 |
|
|
54 |
– |
UltraFastSim(); |
55 |
– |
|
58 |
|
void clear(); |
59 |
|
|
60 |
|
void makeJets(); |
59 |
– |
void makeBJets(); |
61 |
|
void makeTaus(); |
62 |
|
void makeETSums(); |
63 |
|
|
66 |
|
void emSmear(Pythia8::Particle& particle, TParticle& smearedParticle); |
67 |
|
void hdSmear(Pythia8::Particle& particle, TParticle& smearedParticle); |
68 |
|
|
68 |
– |
Pythia8::Rndm* rndmPtr; |
69 |
– |
|
70 |
– |
fastjet::JetDefinition* jetDefPtr; |
71 |
– |
fastjet::ClusterSequence* cs; |
72 |
– |
|
69 |
|
std::vector<TParticle> genTaus; |
70 |
|
std::vector<TParticle> visTaus; |
71 |
|
std::vector<TParticle> bQuarks; |
73 |
|
std::vector<TParticle> photons; |
74 |
|
std::vector<TParticle> electrons; |
75 |
|
std::vector<TParticle> muons; |
76 |
+ |
std::vector<TParticle> muonsStdGeom; |
77 |
|
std::vector<TParticle> taus; |
78 |
|
std::vector<TParticle> chargedHadrons; |
79 |
|
std::vector<TParticle> neutralHadrons; |
80 |
< |
std::vector<fastjet::PseudoJet> jets; |
81 |
< |
std::vector<fastjet::PseudoJet> bJets; |
82 |
< |
std::vector<fastjet::PseudoJet> bJetsStdGeom; |
80 |
> |
std::vector<TLorentzVector> jets; |
81 |
> |
std::vector<TLorentzVector> bJetsLoose; |
82 |
> |
std::vector<TLorentzVector> bJetsLooseStdGeom; |
83 |
> |
std::vector<TLorentzVector> bJetsMedium; |
84 |
> |
std::vector<TLorentzVector> bJetsMediumStdGeom; |
85 |
> |
std::vector<TLorentzVector> bJetsTight; |
86 |
> |
std::vector<TLorentzVector> bJetsTightStdGeom; |
87 |
|
|
88 |
|
TLorentzVector MET; |
89 |
|
TLorentzVector MHT; |
91 |
|
double ET; |
92 |
|
double HT; |
93 |
|
|
94 |
+ |
ClassDef (UltraFastSim, 1) |
95 |
|
}; |
96 |
|
|
97 |
|
#endif |