ThreeBody.hh
Go to the documentation of this file.
1 
4 #pragma once
5 
7 #include "boca/Settings.hh"
8 
9 namespace boca
10 {
11 
12 namespace branch
13 {
14 
20 class ThreeBody : public Particle
21 {
22 
23 public:
24 
25  ThreeBody();
26 
27  float ht;
28  float bdt_1;
29  float bdt_2;
30  float bdt_3;
31  float mass_12;
32  float mass_23;
33  float mass_13;
34  float pt_12;
35  float pt_23;
36  float pt_13;
37  float delta_pt_12;
38  float delta_pt_23;
39  float delta_pt_13;
40  float ht_12;
41  float ht_23;
42  float ht_13;
43  float rho_12;
44  float rho_23;
45  float rho_13;
46  float delta_rap_12;
47  float delta_rap_23;
48  float delta_rap_13;
49  float delta_phi_12;
50  float delta_phi_23;
51  float delta_phi_13;
52  float delta_r_12;
53  float delta_r_23;
54  float delta_r_13;
55  float delta_m_12;
56  float delta_m_23;
57  float delta_m_13;
58  float delta_ht_12;
59  float delta_ht_23;
60  float delta_ht_13;
61  float pull_12;
62  float pull_21;
63  float pull_23;
64  float pull_13;
65  float pull_32;
66  float pull_31;
69  float sphericity;
70  float aplanarity;
71 
72  template<typename Multiplet>
73  void Fill(Multiplet const &multiplet)
74  {
75  Particle::Fill(multiplet);
76  ht = multiplet.Ht() / GeV;
77  bdt_1 = multiplet.Multiplet1().Bdt();
78  bdt_2 = multiplet.Multiplet2().Bdt();
79  bdt_3 = multiplet.Multiplet3().Bdt();
80  mass_12 = multiplet.Multiplet12().Mass() / GeV;
81  mass_23 = multiplet.Multiplet23().Mass() / GeV;
82  mass_13 = multiplet.Multiplet13().Mass() / GeV;
83  pt_12 = multiplet.Multiplet12().Pt() / GeV;
84  pt_23 = multiplet.Multiplet23().Pt() / GeV;
85  pt_13 = multiplet.Multiplet13().Pt() / GeV;
86  delta_pt_12 = multiplet.Multiplet12().DeltaPt() / GeV;
87  delta_pt_23 = multiplet.Multiplet23().DeltaPt() / GeV;
88  delta_pt_13 = multiplet.Multiplet13().DeltaPt() / GeV;
89  ht_12 = multiplet.Multiplet12().Ht() / GeV;
90  ht_23 = multiplet.Multiplet23().Ht() / GeV;
91  ht_13 = multiplet.Multiplet13().Ht() / GeV;
92  rho_12 = multiplet.Multiplet12().Rho();
93  rho_23 = multiplet.Multiplet23().Rho();
94  rho_13 = multiplet.Multiplet13().Rho();
95  delta_rap_12 = multiplet.Multiplet12().DeltaRap() / rad;
96  delta_rap_23 = multiplet.Multiplet23().DeltaRap() / rad;
97  delta_rap_13 = multiplet.Multiplet13().DeltaRap() / rad;
98  delta_phi_12 = multiplet.Multiplet12().DeltaPhi() / rad;
99  delta_phi_23 = multiplet.Multiplet23().DeltaPhi() / rad;
100  delta_phi_13 = multiplet.Multiplet13().DeltaPhi() / rad;
101  delta_r_12 = multiplet.Multiplet12().DeltaR() / rad;
102  delta_r_23 = multiplet.Multiplet23().DeltaR() / rad;
103  delta_r_13 = multiplet.Multiplet13().DeltaR() / rad;
104  delta_m_12 = multiplet.Multiplet12().DeltaM() / GeV;
105  delta_m_23 = multiplet.Multiplet23().DeltaM() / GeV;
106  delta_m_13 = multiplet.Multiplet13().DeltaM() / GeV;
107  delta_ht_12 = multiplet.Multiplet12().DeltaHt() / GeV;
108  delta_ht_23 = multiplet.Multiplet23().DeltaHt() / GeV;
109  delta_ht_13 = multiplet.Multiplet13().DeltaHt() / GeV;
110  if (Settings::SubStructure()) {
111  pull_12 = multiplet.Multiplet12().Pull12() / rad;
112  pull_21 = multiplet.Multiplet12().Pull21() / rad;
113  pull_23 = multiplet.Multiplet23().Pull12() / rad;
114  pull_32 = multiplet.Multiplet23().Pull21() / rad;
115  pull_13 = multiplet.Multiplet13().Pull12() / rad;
116  pull_31 = multiplet.Multiplet13().Pull21() / rad;
117  dipolarity_23 = multiplet.Multiplet23().Dipolarity();
118  dipolarity_13 = multiplet.Multiplet13().Dipolarity();
119  }
120  aplanarity = multiplet.EventShapes().Aplanarity();
121  sphericity = multiplet.EventShapes().Sphericity();
122  }
123 
125 
127 
128 private:
129 
130  ClassDef(ThreeBody, 1)
131 
132 };
133 
134 }
135 
136 }
float mass_13
Definition: ThreeBody.hh:33
float delta_rap_13
Definition: ThreeBody.hh:48
float delta_m_12
Definition: ThreeBody.hh:55
float pull_31
Definition: ThreeBody.hh:66
float pull_13
Definition: ThreeBody.hh:64
static bool SubStructure()
Definition: Settings.cpp:213
boca::Mass Mass() const
Definition: Multiplet.cpp:61
float sphericity
Definition: ThreeBody.hh:69
float ht
Definition: ThreeBody.hh:27
ThreeBody()
Definition: ThreeBody.cpp:15
virtual double Bdt() const
Definition: Identification.cpp:27
float ht_12
Definition: ThreeBody.hh:40
float rho_23
Definition: ThreeBody.hh:44
Momentum Pt() const
Definition: Multiplet.cpp:36
float delta_m_13
Definition: ThreeBody.hh:57
float ht_13
Definition: ThreeBody.hh:42
float rho_13
Definition: ThreeBody.hh:45
void Fill(Multiplet const &multiplet)
Definition: ThreeBody.hh:73
float pull_23
Definition: ThreeBody.hh:63
Observables Spectators()
Definition: ThreeBody.cpp:108
float aplanarity
Definition: ThreeBody.hh:70
float bdt_1
Definition: ThreeBody.hh:28
float bdt_2
Definition: ThreeBody.hh:29
float delta_r_13
Definition: ThreeBody.hh:54
float dipolarity_13
Definition: ThreeBody.hh:68
float delta_phi_13
Definition: ThreeBody.hh:51
float delta_m_23
Definition: ThreeBody.hh:56
float rho_12
Definition: ThreeBody.hh:43
float mass_23
Definition: ThreeBody.hh:32
float bdt_3
Definition: ThreeBody.hh:30
float pt_12
Definition: ThreeBody.hh:34
float pull_12
Definition: ThreeBody.hh:61
float delta_phi_12
Definition: ThreeBody.hh:49
float delta_pt_23
Definition: ThreeBody.hh:38
Boosted Collider Analysis.
Definition: Analysis.hh:15
float delta_pt_13
Definition: ThreeBody.hh:39
void Fill(Multiplet const &multiplet)
Definition: Particle.hh:33
Particle tree branch
Definition: Particle.hh:19
float delta_r_12
Definition: ThreeBody.hh:52
float delta_rap_12
Definition: ThreeBody.hh:46
float pull_21
Definition: ThreeBody.hh:62
float delta_rap_23
Definition: ThreeBody.hh:47
Multiplet base class
Definition: Multiplet.hh:21
Three body tree branch.
Definition: ThreeBody.hh:20
float dipolarity_23
Definition: ThreeBody.hh:67
float ht_23
Definition: ThreeBody.hh:41
float pt_23
Definition: ThreeBody.hh:35
float delta_ht_13
Definition: ThreeBody.hh:60
float pull_32
Definition: ThreeBody.hh:65
float pt_13
Definition: ThreeBody.hh:36
float delta_phi_23
Definition: ThreeBody.hh:50
float delta_ht_23
Definition: ThreeBody.hh:59
float mass_12
Definition: ThreeBody.hh:31
float delta_r_23
Definition: ThreeBody.hh:53
Container for Observable.
Definition: Observables.hh:17
float delta_pt_12
Definition: ThreeBody.hh:37
Observables Variables()
Definition: ThreeBody.cpp:60
float delta_ht_12
Definition: ThreeBody.hh:58