Public Member Functions | Private Attributes | List of all members
new_interaction_topology Class Reference

#include <SelectionDefinitions.h>

Public Member Functions

 new_interaction_topology (double endz_low, double endz_high, double threshold)
 
int operator() (int pdg, double endZ, std::string process, int nPi0, std::vector< int > &true_daughter_pdg, std::vector< double > &true_daughter_startP)
 

Private Attributes

double fEndZLow
 
double fEndZHigh
 
double fThreshold
 

Detailed Description

Definition at line 1 of file SelectionDefinitions.h.

Constructor & Destructor Documentation

new_interaction_topology::new_interaction_topology ( double  endz_low,
double  endz_high,
double  threshold 
)
inline

Definition at line 6 of file SelectionDefinitions.h.

Member Function Documentation

int new_interaction_topology::operator() ( int  pdg,
double  endZ,
std::string  process,
int  nPi0,
std::vector< int > &  true_daughter_pdg,
std::vector< double > &  true_daughter_startP 
)
inline

Definition at line 10 of file SelectionDefinitions.h.

14  {
15 
16  int topology = -1;
17  if (pdg == 211) {
18  if (endZ < fEndZLow/*-.49375*/) {
19  topology = 4;
20  }
21  //After FV
22  else if (endZ > fEndZHigh/*222.10561*/) {
23  topology = 6;
24  }
25  else if (process == "pi+Inelastic") {
26  //daughters with & without thresholds
27  bool has_pion_above_threshold = false;
28  for (size_t i = 0; i < true_daughter_startP.size(); ++i) {
29  if (abs(true_daughter_pdg[i]) == 211 &&
30  true_daughter_startP[i] > fThreshold/*.150*/) {
31  has_pion_above_threshold = true;
32  break;
33  }
34  }
35 
36  if (has_pion_above_threshold) {
37  topology = 3;
38  }
39  else if (nPi0 == 0) {
40  topology = 1;
41  }
42  else if (nPi0 > 0) {
43  topology = 2;
44  }
45  }
46  else {
47  topology = 7;
48  }
49  }
50  else if (pdg == -13) {
51  topology = 5;
52  }
53  else {
54  topology = 7;
55  }
56 
57  return topology;
58 
59  }
def process(f, kind)
Definition: search.py:254
T abs(T value)

Member Data Documentation

double new_interaction_topology::fEndZHigh
private

Definition at line 3 of file SelectionDefinitions.h.

double new_interaction_topology::fEndZLow
private

Definition at line 3 of file SelectionDefinitions.h.

double new_interaction_topology::fThreshold
private

Definition at line 4 of file SelectionDefinitions.h.


The documentation for this class was generated from the following file: