ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/dasu/UltraFastSim/UltraFastSim.h
Revision: 1.6
Committed: Sun Feb 20 02:01:27 2011 UTC (14 years, 3 months ago) by dasu
Content type: text/plain
Branch: MAIN
Changes since 1.5: +14 -0 lines
Log Message:
Added ETSums

File Contents

# User Rev Content
1 dasu 1.1 #ifndef UltraFastSim_H
2     #define UltraFastSim_H
3    
4     #include <vector>
5    
6     namespace Pythia8 {
7     class Rndm;
8     class Event;
9     class Particle;
10     }
11    
12     namespace fastjet {
13     class JetDefinition;
14     class ClusterSequence;
15     }
16    
17     #include "fastjet/PseudoJet.hh";
18 dasu 1.3
19 dasu 1.2 #include "TParticle.h";
20 dasu 1.6 #include "TLorentzVector.h";
21 dasu 1.1
22     class UltraFastSim {
23    
24     public:
25    
26     UltraFastSim(Pythia8::Rndm *r);
27    
28     virtual ~UltraFastSim() {;}
29    
30     bool run(Pythia8::Event &event);
31    
32 dasu 1.3 const std::vector<TParticle>& genTauList() {return genTaus;}
33 dasu 1.5 const std::vector<TParticle>& visTauList() {return visTaus;}
34 dasu 1.3 const std::vector<TParticle>& bQuarkList() {return bQuarks;}
35     const std::vector<TParticle>& cQuarkList() {return cQuarks;}
36     const std::vector<TParticle>& photonList() {return photons;}
37     const std::vector<TParticle>& electronList() {return electrons;}
38     const std::vector<TParticle>& muonList() {return muons;}
39 dasu 1.2 const std::vector<TParticle>& tauList() {return taus;}
40 dasu 1.3 const std::vector<TParticle>& chargedHadronList() {return chargedHadrons;}
41     const std::vector<TParticle>& neutralHadronList() {return neutralHadrons;}
42 dasu 1.2 const std::vector<fastjet::PseudoJet>& jetList() {return jets;}
43     const std::vector<fastjet::PseudoJet>& bJetList() {return bJets;}
44 dasu 1.4 const std::vector<fastjet::PseudoJet>& bJetListStdGeom() {return bJetsStdGeom;}
45 dasu 1.2
46 dasu 1.6 const TLorentzVector& getMET() {return MET;}
47     const TLorentzVector& getMHT() {return MHT;}
48    
49     const double getET() {return ET;}
50     const double getHT() {return HT;}
51    
52 dasu 1.1 private:
53    
54     UltraFastSim();
55    
56     void clear();
57    
58     void makeJets();
59     void makeBJets();
60     void makeTaus();
61 dasu 1.6 void makeETSums();
62 dasu 1.1
63 dasu 1.3 void setCommon(Pythia8::Particle& particle, TParticle& smearedParticle);
64     void tkSmear(Pythia8::Particle& particle, TParticle& smearedParticle);
65     void emSmear(Pythia8::Particle& particle, TParticle& smearedParticle);
66     void hdSmear(Pythia8::Particle& particle, TParticle& smearedParticle);
67 dasu 1.1
68     Pythia8::Rndm* rndmPtr;
69    
70     fastjet::JetDefinition* jetDefPtr;
71     fastjet::ClusterSequence* cs;
72    
73 dasu 1.3 std::vector<TParticle> genTaus;
74 dasu 1.5 std::vector<TParticle> visTaus;
75 dasu 1.3 std::vector<TParticle> bQuarks;
76     std::vector<TParticle> cQuarks;
77     std::vector<TParticle> photons;
78     std::vector<TParticle> electrons;
79     std::vector<TParticle> muons;
80 dasu 1.2 std::vector<TParticle> taus;
81 dasu 1.3 std::vector<TParticle> chargedHadrons;
82     std::vector<TParticle> neutralHadrons;
83 dasu 1.1 std::vector<fastjet::PseudoJet> jets;
84     std::vector<fastjet::PseudoJet> bJets;
85 dasu 1.4 std::vector<fastjet::PseudoJet> bJetsStdGeom;
86 dasu 1.1
87 dasu 1.6 TLorentzVector MET;
88     TLorentzVector MHT;
89    
90     double ET;
91     double HT;
92    
93 dasu 1.1 };
94    
95     #endif