CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
TauDecay.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: TauNtuple
4 // Class: TauDecay
5 //
11 //
12 // Original Author: Ian Nugent
13 // Created: Fri Nov 18 13:49:02 CET 2011
14 //
15 //
16 #ifndef TauDecay_h
17 #define TauDecay_h
18 
19 #include <string>
20 
21 class TauDecay {
22 public:
23  // TAUOLA list of decay modes avalible presently available in Tauola are (MODE):
24  //
25  // * DEC BRTAU NORMAL ROUTINE CHANNEL *
26  // * 1 0.17810 0.17810 DADMEL ELECTRON *
27  // * 2 0.17370 0.17370 DADMMU MUON *
28  // * 3 0.11080 0.11080 DADMPI PION *
29  // * 4 0.25320 0.25320 DADMRO RHO (->2PI) *
30  // * 5 0.18250 0.18250 DADMAA A1 (->3PI) *
31  // * 6 0.00710 0.00710 DADMKK KAON *
32  // * 7 0.01280 0.01280 DADMKS K* *
33  // * 8 0.04500 0.04500 DAD4PI 2PI- PI+ PI0 *
34  // * 9 0.01230 0.01230 DAD4PI PI- 3PI0 *
35  // * 10 0.00500 0.00500 DADNPI 2PI- PI+ 2PI0 *
36  // * 11 0.00080 0.00080 DADNPI 3PI- 2PI+ *
37  // * 12 0.00020 0.00020 DADNPI 3PI- 2PI+ PI0 *
38  // * 13 0.00030 0.00030 DADNPI 2PI- PI+ 3PI0 *
39  // * 14 0.00190 0.00190 DADMPK K+ K- PI+ *
40  // * 15 0.00120 0.00120 DADMPK K0B K0 PI+ *
41  // * 16 0.00300 0.00300 DADMPK K+ K0B PI0 *
42  // * 17 0.00100 0.00100 DADMPK K+ PI0 PI0 *
43  // * 18 0.00230 0.00230 DADMPK K+ PI- PI+ *
44  // * 19 0.00390 0.00390 DADMPK K0 PI0 PI+ *
45  // * 20 0.00170 0.00170 DADMPK ET PI- PI0 *
46  // * 21 0.00160 0.00160 DADMPK PI-PI0 GAM * (obsolete ... merged with 4 do to pythia and photos radiation)
47  // * 22 0.00160 0.00160 DADMPK K- K0B GAM * (ignore photon?)
49  // List of Pythia8 Modes
50  // 3 0 0 0.1076825 1521 16 -211
51  // 6 1 0 0.0069601 1521 16 -321
52  // 1 2 0 0.1772832 1531 16 11 -12
53  // 2 3 0 0.1731072 1531 16 13 -14
54  // 4 4 0 0.2537447 1532 16 111 -211
55  // 22 5 0 0.0015809 1532 16 311 -321
56  // Keta 6 0 0.0001511 1532 16 221 -321
57  // 7 7 0 0.0083521 1533 16 -211 -311
58  // 7 8 0 0.0042655 1533 16 111 -321
59  // 5 0 0.0924697 1541 16 111 111 -211
60  // 5 10 1 0.0925691 1543 16 -211 -211 211
61  // 19 11 0 0.0039772 1542 16 111 -211 -311
62  // 18 12 0 0.0034701 1542 16 -211 211 -321
63  // 14 13 0 0.0014318 1542 16 -211 -321 321
64  // 16 14 0 0.0015809 1542 16 111 311 -321
65  // 15 15 0 0.0011932 1542 16 130 -211 310
66  // 17 16 0 0.0006463 1542 16 111 111 -321
67  // 15 17 0 0.0002386 1542 16 130 130 -211
68  // 15 18 0 0.0002386 1542 16 -211 310 310
69  // 20 19 0 0.0013821 1543 16 111 -211 221
70  // 21->4 20 0 0.0017520 1544 16 22 111 -211 (obsolete ... merged with 4 do to pythia and photos radiation)
71  // 8 21 0 0.0459365 1551 16 111 -211 -211 211
72  // 9 22 0 0.0104401 1551 16 111 111 111 -211
73  // 10 23 0 0.0049069 1561 16 111 111 -211 -211 211
74  // 25 24 0 0.0009515 1561 16 111 111 111 111 -211
75  // 11 25 0 0.0008342 1561 16 -211 -211 -211 211 211
76  // 26 26 0 0.0001631 0 16 -211 -211 211 221
77  // 27 27 0 0.0001491 0 16 111 111 -211 221
78  // 28 28 0 0.0001392 0 16 111 111 -211 223
79  // 29 29 0 0.0001193 0 16 -211 -211 211 223
80  // 30 30 0 0.0004077 0 16 223 -321
81  // 31 31 0 0.0004773 0 16 111 111 111 -321
82  // 32 32 0 0.0003052 0 16 111 -211 211 -321
83  // 33 33 0 0.0002784 0 16 221 -323
84  // 34 34 0 0.0002366 0 16 111 111 -211 -311
85  // 35 35 0 0.0002237 0 16 -211 -211 211 -311
86  // 36 36 0 0.0002953 0 16 111 -211 -311 311
87  // 37 37 0 0.0000590 0 16 111 -211 -321 321
88 
89  enum MODE {
129  };
130 
132  other = 0,
133  OneProng = 1,
136  OnePi0 = 8,
137  TwoPi0 = 32,
138  ThreePi0 = 64,
139  Res_a1_pm = 128,
140  Res_a1_0 = 256,
141  Res_rho_pm = 512,
142  Res_rho_0 = 1024,
143  Res_eta = 2048,
144  Res_omega = 4096,
145  Res_Kstar_pm = 8192,
146  Res_Kstar_0 = 16384,
147  KS0_to_pipi = 32768
148  };
149 
150  TauDecay();
151  ~TauDecay();
152 
153  void Reset();
154  bool isTauFinalStateParticle(int pdgid);
155  bool isTauParticleCounter(int pdgid);
156  bool isTauResonanceCounter(int pdgid);
157  void ClassifyDecayMode(unsigned int &MODE_ID, unsigned int &TauBitMask);
158  unsigned int nProng(unsigned int &TauBitMask);
159  unsigned int nPi0(unsigned int &TauBitMask);
160  bool hasResonance(unsigned int &TauBitMask, int pdgid);
161  static std::string DecayMode(unsigned int &MODE_ID);
162 
163 private:
164  // Functions
165  void ClassifyDecayResonance(unsigned int &TauBitMask);
166 
167  //counting varibles
168  unsigned int n_pi, n_pi0, n_K, n_K0L, n_K0S, n_gamma, n_nu, n_e, n_mu; // particle counters
169  unsigned int n_a1, n_a10, n_rho, n_rho0, n_eta, n_omega, n_Kstar0, n_Kstar, unknown; // resonance counters
170 };
171 #endif
unsigned int n_pi
Definition: TauDecay.h:168
void Reset()
Definition: TauDecay.cc:11
bool hasResonance(unsigned int &TauBitMask, int pdgid)
Definition: TauDecay.cc:350
unsigned int unknown
Definition: TauDecay.h:169
unsigned int n_nu
Definition: TauDecay.h:168
~TauDecay()
Definition: TauDecay.cc:9
unsigned int n_omega
Definition: TauDecay.h:169
unsigned int n_K
Definition: TauDecay.h:168
bool isTauFinalStateParticle(int pdgid)
Definition: TauDecay.cc:32
unsigned int n_mu
Definition: TauDecay.h:168
unsigned int n_eta
Definition: TauDecay.h:169
TauDecayStructure
Definition: TauDecay.h:131
unsigned int n_rho0
Definition: TauDecay.h:169
unsigned int n_K0S
Definition: TauDecay.h:168
unsigned int n_a10
Definition: TauDecay.h:169
TauDecay()
Definition: TauDecay.cc:7
bool isTauResonanceCounter(int pdgid)
Definition: TauDecay.cc:116
unsigned int n_a1
Definition: TauDecay.h:169
void ClassifyDecayMode(unsigned int &MODE_ID, unsigned int &TauBitMask)
Definition: TauDecay.cc:150
static std::string DecayMode(unsigned int &MODE_ID)
Definition: TauDecay.cc:393
unsigned int n_e
Definition: TauDecay.h:168
unsigned int n_Kstar0
Definition: TauDecay.h:169
void ClassifyDecayResonance(unsigned int &TauBitMask)
Definition: TauDecay.cc:373
unsigned int n_rho
Definition: TauDecay.h:169
unsigned int n_Kstar
Definition: TauDecay.h:169
unsigned int n_K0L
Definition: TauDecay.h:168
unsigned int n_pi0
Definition: TauDecay.h:168
unsigned int nPi0(unsigned int &TauBitMask)
Definition: TauDecay.cc:340
unsigned int n_gamma
Definition: TauDecay.h:168
bool isTauParticleCounter(int pdgid)
Definition: TauDecay.cc:64
unsigned int nProng(unsigned int &TauBitMask)
Definition: TauDecay.cc:331