Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DVMPHelper.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file DVMPHelper.h
1 #ifndef __DVMPHELPER__
2 #define __DVMPHELPER__
3 
4 #include <vector>
5 #include <stdlib.h>
6 class DVMPHelper
7 {
8 
9  public:
10  /* Primary constructor */
11  DVMPHelper(std::vector<float> reco_eta, std::vector<float> reco_phi,
12  std::vector<float> reco_ptotal, std::vector<int> reco_charge,
13  std::vector<float> reco_cluster_e,
14  std::vector<bool> reco_is_scattered_lepton,
15  std::vector<float> true_eta, std::vector<float> true_phi,
16  std::vector<float> true_ptotal, std::vector<int> pid,
17  std::vector<bool> is_scattered_lepton);
18 
19  /* Default destructor */
21 
22  /* Reco Particle Struct */
23  struct particle_reco{
24  float eta;
25  float phi;
26  float ptotal;
27  int charge;
28  float e;
30  };
31 
32  /* True Particle Struct */
34  float eta;
35  float phi;
36  float ptotal;
37  int pid;
39  };
40 
41  /* Return invariant mass float from reco particles */
42  std::vector<float> calculateInvariantMass_1();
43 
44  /* Return invariant mass float from truth particles */
45  std::vector<float> calculateInvariantMass_2();
46 
47  /* Return invariant mass float from reco particles (decay particles) */
48  std::vector<float> calculateInvariantMass_3();
49 
50  /* Return invariant mass float from reco particles (positron+scattered electron */
51  std::vector<float> calculateInvariantMass_4();
52 
53  /* Return invariant mass float from truth particles (decay particles) */
54  std::vector<float> calculateInvariantMass_5();
55 
56  /* Return invariant mass float from truth particles (positron+scattered e-) */
57  std::vector<float> calculateInvariantMass_6();
58 
59 
60  /* Size of reco/truth */
63 
64  /* Array of event particles */
67 
68  /* Return reco particle */
69  particle_reco GetParticleReco(float eta, float phi, float ptotal, int charge, float e,bool is_scattered_lepton);
70 
71  /* Return truth particle */
72  particle_truth GetParticleTruth(float eta, float phi, float ptotal, int pid, bool is_scattered_lepton);
73 
74  /* Return invariant mass from reco particles */
76 
77  /* Return invariant mass from truth particles */
79 
80  /* Quick method to grab transverse momentum */
81  float get_pt(float eta, float ptotal);
82 
83  /* Test if a positron was found in the event */
84  bool find_positron();
85 
86  /* Test if particle passes E/p cut */
87  bool pass_cut(int index);
88 
89  private:
90 
91 
92 };
93 
94 #endif