StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
StjMCParticleCutParton.h
1 // -*- mode: c++ -*-
2 //
3 // Pibero Djawotho <pibero@tamu.edu>
4 // Texas A&M
5 // 20 Jan 2012
6 //
7 // Select particles for parton jets
8 //
9 
10 #ifndef STJ_MCPARTICLE_CUT_PARTON_H
11 #define STJ_MCPARTICLE_CUT_PARTON_H
12 
13 #include <cmath>
14 #include "StjMCParticleCut.h"
15 
17 public:
18  static int mstu72; // set by StjMCMuDst
19  static int mstu73; // set by StjMCMuDst
20 
21  //
22  // I want the fragmented partons from the hard scattering
23  // including initial and final state radiation, but without
24  // the underlying event contribution. That is the physics
25  // object that closely matches theoretical NLO calculations.
26  // PYTHIA 6.4 CDF tune A assigns parent 0 to any parton from
27  // the underlying event. However, PYTHIA 6.4 Perugia-0 tune
28  // assigns the originating proton as parent (1 or 2) to any
29  // parton from the underlying event. To handle both tunes,
30  // I reject any parton with parent 0, 1 or 2.
31  //
32  bool operator()(const StjMCParticle& particle)
33  {
34  return !(particle.mcparticleId > mstu72 &&
35  particle.mcparticleId <= mstu73 &&
36  particle.firstMotherId <= mstu72 &&
37  particle.firstMotherId != 0 &&
38  particle.firstMotherId != 1 &&
39  particle.firstMotherId != 2 &&
40  particle.status != 51 &&
41  particle.pt > 0.0001 && fabs(particle.eta) < 5.0);
42  }
43 
44  ClassDef(StjMCParticleCutParton,1)
45 };
46 
47 #endif // STJ_MCPARTICLE_CUT_PARTON_H