ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/dasu/UltraFastSim/UltraFastSim.h
Revision: 1.8
Committed: Fri Feb 25 15:37:18 2011 UTC (14 years, 2 months ago) by dasu
Content type: text/plain
Branch: MAIN
Changes since 1.7: +15 -13 lines
Log Message:
Moved to storing the entire UFS data

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