16 |
|
|
17 |
|
#include "fastjet/PseudoJet.hh"; |
18 |
|
|
19 |
+ |
#include "TParticle.h"; |
20 |
+ |
|
21 |
|
class UltraFastSim { |
22 |
|
|
23 |
|
public: |
28 |
|
|
29 |
|
bool run(Pythia8::Event &event); |
30 |
|
|
31 |
+ |
const std::vector<TParticle>& genTauList() {return genTaus;} |
32 |
+ |
const std::vector<TParticle>& bQuarkList() {return bQuarks;} |
33 |
+ |
const std::vector<TParticle>& cQuarkList() {return cQuarks;} |
34 |
+ |
const std::vector<TParticle>& photonList() {return photons;} |
35 |
+ |
const std::vector<TParticle>& electronList() {return electrons;} |
36 |
+ |
const std::vector<TParticle>& muonList() {return muons;} |
37 |
+ |
const std::vector<TParticle>& tauList() {return taus;} |
38 |
+ |
const std::vector<TParticle>& chargedHadronList() {return chargedHadrons;} |
39 |
+ |
const std::vector<TParticle>& neutralHadronList() {return neutralHadrons;} |
40 |
+ |
const std::vector<fastjet::PseudoJet>& jetList() {return jets;} |
41 |
+ |
const std::vector<fastjet::PseudoJet>& bJetList() {return bJets;} |
42 |
+ |
const std::vector<fastjet::PseudoJet>& bJetListStdGeom() {return bJetsStdGeom;} |
43 |
+ |
|
44 |
|
private: |
45 |
|
|
46 |
|
UltraFastSim(); |
51 |
|
void makeBJets(); |
52 |
|
void makeTaus(); |
53 |
|
|
54 |
< |
void tkSmear(Pythia8::Particle particle); |
55 |
< |
void emSmear(Pythia8::Particle particle); |
56 |
< |
void hdSmear(Pythia8::Particle particle); |
54 |
> |
void setCommon(Pythia8::Particle& particle, TParticle& smearedParticle); |
55 |
> |
void tkSmear(Pythia8::Particle& particle, TParticle& smearedParticle); |
56 |
> |
void emSmear(Pythia8::Particle& particle, TParticle& smearedParticle); |
57 |
> |
void hdSmear(Pythia8::Particle& particle, TParticle& smearedParticle); |
58 |
|
|
59 |
|
Pythia8::Rndm* rndmPtr; |
60 |
|
|
61 |
|
fastjet::JetDefinition* jetDefPtr; |
62 |
|
fastjet::ClusterSequence* cs; |
63 |
|
|
64 |
< |
float trackerResolution; |
65 |
< |
float ecalResolution; |
66 |
< |
float ecalConstantTerm; |
67 |
< |
float hcalResolution; |
68 |
< |
float hcalConstantTerm; |
69 |
< |
|
70 |
< |
std::vector<fastjet::PseudoJet> selectedParticles; |
71 |
< |
std::vector<fastjet::PseudoJet> selectedElectrons; |
72 |
< |
std::vector<fastjet::PseudoJet> selectedMuons; |
57 |
< |
std::vector<fastjet::PseudoJet> selectedTaus; |
58 |
< |
std::vector<fastjet::PseudoJet> selectedBQuarks; |
64 |
> |
std::vector<TParticle> genTaus; |
65 |
> |
std::vector<TParticle> bQuarks; |
66 |
> |
std::vector<TParticle> cQuarks; |
67 |
> |
std::vector<TParticle> photons; |
68 |
> |
std::vector<TParticle> electrons; |
69 |
> |
std::vector<TParticle> muons; |
70 |
> |
std::vector<TParticle> taus; |
71 |
> |
std::vector<TParticle> chargedHadrons; |
72 |
> |
std::vector<TParticle> neutralHadrons; |
73 |
|
std::vector<fastjet::PseudoJet> jets; |
60 |
– |
std::vector<fastjet::PseudoJet> sortedJets; |
74 |
|
std::vector<fastjet::PseudoJet> bJets; |
75 |
< |
std::vector<fastjet::PseudoJet> taus; |
75 |
> |
std::vector<fastjet::PseudoJet> bJetsStdGeom; |
76 |
|
|
77 |
|
}; |
78 |
|
|