Changes in readers/DelphesPythia8.cpp [78d1846:6934875] in git
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
readers/DelphesPythia8.cpp
r78d1846 r6934875 146 146 } 147 147 148 //--------------------------------------------------------------------------- 149 150 /* 151 Single-particle gun. The particle must be a colour singlet. 152 Input: flavour, energy, direction (theta, phi). 153 If theta < 0 then random choice over solid angle. 154 Optional final argument to put particle at rest => E = m. 155 from pythia8 example 21 156 */ 157 158 void fillParticle(int id, double pMax, double etaMax, 148 149 // Single-particle gun. The particle must be a colour singlet. 150 // Input: flavour, energy, direction (theta, phi). 151 // If theta < 0 then random choice over solid angle. 152 // Optional final argument to put particle at rest => E = m. 153 // from pythia8 example 21 154 155 void fillParticle(int id, double p_max, double eta_max, 159 156 Pythia8::Event &event, Pythia8::ParticleData &pdt, Pythia8::Rndm &rndm) 160 157 { … … 164 161 // Generate uniform pt and eta. 165 162 double pt, eta, phi, pp, ee, mm; 166 167 // pMin = 0.1 GeV for single particles168 pp = pow(10, - 1.0 + (log10(p Max) + 1.0) * rndm.flat());169 eta = (2.0 * rndm.flat() - 1.0) * eta Max;163 164 //pmin = 0.1 GeV for single particles 165 pp = pow(10, - 1.0 + (log10(p_max) + 1.0) * rndm.flat()); 166 eta = (2.0 * rndm.flat() - 1.0) * eta_max; 170 167 phi = 2.0 * M_PI * rndm.flat(); 171 168 mm = pdt.mSel(id); … … 177 174 } 178 175 179 //--------------------------------------------------------------------------- 180 181 void fillPartons(int id, double pMax, double etaMax, 176 void fillPartons(int id, double p_max, double eta_max, 182 177 Pythia8::Event &event, Pythia8::ParticleData &pdt, Pythia8::Rndm &rndm) 183 178 { 179 184 180 // Reset event record to allow for new event. 185 181 event.reset(); … … 188 184 double pt, eta, phi, pp, ee, mm; 189 185 190 // pMin = 1 GeV for jets191 pp = pow(10, log10(p Max) * rndm.flat());192 eta = (2.0 * rndm.flat() - 1.0) * eta Max;186 //pmin = 1 GeV for jets 187 pp = pow(10, log10(p_max) * rndm.flat()); 188 eta = (2.0 * rndm.flat() - 1.0) * eta_max; 193 189 phi = 2.0 * M_PI * rndm.flat(); 194 190 mm = pdt.mSel(id); … … 197 193 198 194 if( (id == 4 || id == 5) && pt < 10.0) return; 199 195 200 196 if(id == 21) 201 197 { … … 209 205 } 210 206 } 207 211 208 212 209 //--------------------------------------------------------------------------- … … 230 227 Long64_t eventCounter, errorCounter; 231 228 Long64_t numberOfEvents, timesAllowErrors; 232 Bool_t spareFlag1;233 Int_t spareMode1;234 Double_t spareParm1, spareParm2;235 229 236 230 Pythia8::Pythia *pythia = 0; 237 231 238 232 // for matching 239 233 Pythia8::CombineMatchingInput *combined = 0; … … 285 279 // Initialize Pythia 286 280 pythia = new Pythia8::Pythia; 287 281 288 282 // jet matching 289 283 matching = combined->getHook(*pythia); 290 if (!matching)284 if (!matching) 291 285 { 292 286 throw runtime_error("can't do matching"); 293 287 } 294 288 pythia->setUserHooksPtr(matching); 295 289 296 290 297 291 if(pythia == NULL) … … 311 305 timesAllowErrors = pythia->mode("Main:timesAllowErrors"); 312 306 313 spareFlag1 = pythia->flag("Main:spareFlag1");314 spareMode1 = pythia->mode("Main:spareMode1");315 spareParm1 = pythia->parm("Main:spareParm1");316 spareParm2 = pythia->parm("Main:spareParm2");317 318 307 // Check if particle gun 319 if (!spareFlag1)308 if (!pythia->flag("Main:spareFlag1")) 320 309 { 321 310 inputFile = fopen(pythia->word("Beams:LHEF").c_str(), "r"); … … 351 340 stableParticleOutputArrayLHEF, partonOutputArrayLHEF) && !reader->EventReady()); 352 341 353 if (spareFlag1)342 if (pythia->flag("Main:spareFlag1")) 354 343 { 355 if ((spareMode1 >= 1 && spareMode1 <= 5) || spareMode1 == 21)356 { 357 fillPart ons(spareMode1, spareParm1, spareParm2, pythia->event, pythia->particleData, pythia->rndm);344 if (pythia->mode("Main:spareMode1") == 11 || pythia->mode("Main:spareMode1") == 13 || pythia->mode("Main:spareMode1") == 15 || pythia->mode("Main:spareMode1") == 22 || pythia->mode("Main:spareMode1") == 211 || pythia->mode("Main:spareMode1") == 2112) 345 { 346 fillParticle(pythia->mode("Main:spareMode1"), pythia->parm("Main:spareParm1"), pythia->parm("Main:spareParm2"), pythia->event, pythia->particleData, pythia->rndm); 358 347 } 359 348 else 360 349 { 361 fillPart icle(spareMode1, spareParm1, spareParm2, pythia->event, pythia->particleData, pythia->rndm);350 fillPartons(pythia->mode("Main:spareMode1"), pythia->parm("Main:spareParm1"), pythia->parm("Main:spareParm2"), pythia->event, pythia->particleData, pythia->rndm); 362 351 } 363 352 }
Note:
See TracChangeset
for help on using the changeset viewer.