Changes in modules/PileUpMergerPythia8.cc [341014c:2d494a6] in git
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
modules/PileUpMergerPythia8.cc
r341014c r2d494a6 29 29 #include "classes/DelphesClasses.h" 30 30 #include "classes/DelphesFactory.h" 31 #include "classes/DelphesTF2.h" 31 32 #include "classes/DelphesPileUpReader.h" 32 #include "classes/DelphesTF2.h" 33 33 34 #include "ExRootAnalysis/ExRootResult.h" 35 #include "ExRootAnalysis/ExRootFilter.h" 34 36 #include "ExRootAnalysis/ExRootClassifier.h" 35 #include "ExRootAnalysis/ExRootFilter.h"36 #include "ExRootAnalysis/ExRootResult.h"37 37 38 38 #include "Pythia.h" 39 39 40 #include "TMath.h" 41 #include "TString.h" 42 #include "TFormula.h" 43 #include "TRandom3.h" 44 #include "TObjArray.h" 40 45 #include "TDatabasePDG.h" 41 #include "TFormula.h"42 46 #include "TLorentzVector.h" 43 #include "TMath.h"44 #include "TObjArray.h"45 #include "TRandom3.h"46 #include "TString.h"47 47 48 48 #include <algorithm> 49 #include <stdexcept> 49 50 #include <iostream> 50 51 #include <sstream> 51 #include <stdexcept>52 52 53 53 using namespace std; … … 76 76 fPileUpDistribution = GetInt("PileUpDistribution", 0); 77 77 78 fMeanPileUp = GetDouble("MeanPileUp", 10);78 fMeanPileUp = GetDouble("MeanPileUp", 10); 79 79 80 80 fZVertexSpread = GetDouble("ZVertexSpread", 0.15); … … 133 133 fFunction->GetRandom2(dz, dt); 134 134 135 dt *= c_light *1.0E3; // necessary in order to make t in mm/c135 dt *= c_light*1.0E3; // necessary in order to make t in mm/c 136 136 dz *= 1.0E3; // necessary in order to make z in mm 137 137 vx = 0.0; 138 138 vy = 0.0; 139 139 numberOfParticles = fInputArray->GetEntriesFast(); 140 while((candidate = static_cast<Candidate 140 while((candidate = static_cast<Candidate*>(fItInputArray->Next()))) 141 141 { 142 142 vx += candidate->Position.X(); … … 165 165 switch(fPileUpDistribution) 166 166 { 167 case 0:168 numberOfEvents = gRandom->Poisson(fMeanPileUp);169 break;170 case 1:171 numberOfEvents = gRandom->Integer(2 *fMeanPileUp + 1);172 break;173 default:174 numberOfEvents = gRandom->Poisson(fMeanPileUp);175 break;167 case 0: 168 numberOfEvents = gRandom->Poisson(fMeanPileUp); 169 break; 170 case 1: 171 numberOfEvents = gRandom->Integer(2*fMeanPileUp + 1); 172 break; 173 default: 174 numberOfEvents = gRandom->Poisson(fMeanPileUp); 175 break; 176 176 } 177 177 178 178 for(event = 0; event < numberOfEvents; ++event) 179 179 { 180 while(!fPythia->next()) 181 ; 182 183 // --- Pile-up vertex smearing 180 while(!fPythia->next()); 181 182 // --- Pile-up vertex smearing 184 183 185 184 fFunction->GetRandom2(dz, dt); 186 185 187 dt *= c_light *1.0E3; // necessary in order to make t in mm/c186 dt *= c_light*1.0E3; // necessary in order to make t in mm/c 188 187 dz *= 1.0E3; // necessary in order to make z in mm 189 188 … … 202 201 203 202 pid = particle.id(); 204 px = particle.px(); 205 py = particle.py(); 206 pz = particle.pz(); 207 e = particle.e(); 208 x = particle.xProd(); 209 y = particle.yProd(); 210 z = particle.zProd(); 211 t = particle.tProd(); 203 px = particle.px(); py = particle.py(); pz = particle.pz(); e = particle.e(); 204 x = particle.xProd(); y = particle.yProd(); z = particle.zProd(); t = particle.tProd(); 212 205 213 206 candidate = factory->NewCandidate(); … … 218 211 219 212 pdgParticle = pdg->GetParticle(pid); 220 candidate->Charge = pdgParticle ? Int_t(pdgParticle->Charge() /3.0) : -999;213 candidate->Charge = pdgParticle ? Int_t(pdgParticle->Charge()/3.0) : -999; 221 214 candidate->Mass = pdgParticle ? pdgParticle->Mass() : -999.9; 222 215
Note:
See TracChangeset
for help on using the changeset viewer.