All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
ConstantStorage.hh
Go to the documentation of this file.
1 #include <iostream>
2 #include <vector>
3 #ifndef _TTbarAnalysis_h
4 #define _TTbarAnalysis_h 1
5 namespace TTbarAnalysis
6 {
7  enum PDGTYPE
8  {
17  TAU_LEPTON = 15,
19  NONTRACKABLE_PARTICLES = 1000000, //Should be a large number
20  _max_MESONS = NONTRACKABLE_PARTICLES //Because of this line
21  };
23  {
24  public:
25  //
26  // Constants
27  //
28 
29  //
30  // Constructors
31  //
33  virtual ~ConstantStorage (){}
34  //
35  // Methods
36  //
37  static const std::vector<int> & CHARMED_MESONS_PDG();
38  static const std::vector<int> & STRANGE_MESONS_PDG();
39  static const std::vector<int> & BOTTOM_MESONS_PDG();
40  static const std::vector<int> & BOTTOM_BARYONS_PDG();
41  static const std::vector<int> & BOTTOM_HADRONS_PDG();
42  static const std::vector<int> & CHARMED_BARYONS_PDG();
43  static const std::vector<int> & CHARMED_HADRONS_PDG();
44  static const std::vector<int> & TAU_LEPTON_PDG();
45  static const std::vector<int> & TRACKABLE_PARTICLES_PDG();
46  static const std::vector<int> & NONTRACKABLE_PARTICLES_PDG();
47 
48  static const std::vector<int> & GET_PDG(PDGTYPE type);
49  //static constructor pattern
50  static class _init
51  {
52  public:
54  {
55  ///////////////CHARMEDMESONS/////////////////////
56  myCharmedMesonsPDGs.push_back(421);
57  myCharmedMesonsPDGs.push_back(411);
58  //*
59  myCharmedMesonsPDGs.push_back(433);
60  myCharmedMesonsPDGs.push_back(413);
61  myCharmedMesonsPDGs.push_back(431);
62  myCharmedMesonsPDGs.push_back(10411);
63  myCharmedMesonsPDGs.push_back(10421);
64  myCharmedMesonsPDGs.push_back(423);
65  myCharmedMesonsPDGs.push_back(10413);
66  myCharmedMesonsPDGs.push_back(10423);
67  myCharmedMesonsPDGs.push_back(20413);
68  myCharmedMesonsPDGs.push_back(20423);
69  myCharmedMesonsPDGs.push_back(415);
70  myCharmedMesonsPDGs.push_back(425);
71  myCharmedMesonsPDGs.push_back(10431);
72  myCharmedMesonsPDGs.push_back(10433);
73  myCharmedMesonsPDGs.push_back(20433);
74  myCharmedMesonsPDGs.push_back(435);
75  //*/
76  ///////////////BOTTOMMESONS//////////////////////
77  myBottomMesonsPDGs.push_back(511);
78  myBottomMesonsPDGs.push_back(521);
79  ///*
80  myBottomMesonsPDGs.push_back(513);
81  myBottomMesonsPDGs.push_back(523);
82  myBottomMesonsPDGs.push_back(515);
83  myBottomMesonsPDGs.push_back(525);
84  myBottomMesonsPDGs.push_back(531);
85  myBottomMesonsPDGs.push_back(533);
86  myBottomMesonsPDGs.push_back(535);
87  myBottomMesonsPDGs.push_back(541);
88  myBottomMesonsPDGs.push_back(543);
89  myBottomMesonsPDGs.push_back(545);
90  myBottomMesonsPDGs.push_back(10511);
91  myBottomMesonsPDGs.push_back(10521);
92  myBottomMesonsPDGs.push_back(10523);
93  myBottomMesonsPDGs.push_back(10513);
94  myBottomMesonsPDGs.push_back(20513);
95  myBottomMesonsPDGs.push_back(20523);
96  myBottomMesonsPDGs.push_back(10531);
97  myBottomMesonsPDGs.push_back(10533);
98  myBottomMesonsPDGs.push_back(20533);
99  myBottomMesonsPDGs.push_back(10541);
100  myBottomMesonsPDGs.push_back(10543);
101  myBottomMesonsPDGs.push_back(20543);
102  ///*/
103  ///////////////STRANGEMESONS//////////////////
104  myStrangeMesonsPDGs.push_back(130);
105  myStrangeMesonsPDGs.push_back(310);
106  myStrangeMesonsPDGs.push_back(311);
107  myStrangeMesonsPDGs.push_back(321);
108  myStrangeMesonsPDGs.push_back(10311);
109  myStrangeMesonsPDGs.push_back(10321);
110  myStrangeMesonsPDGs.push_back(100311);
111  myStrangeMesonsPDGs.push_back(100321);
112  myStrangeMesonsPDGs.push_back(200311);
113  myStrangeMesonsPDGs.push_back(200321);
114  myStrangeMesonsPDGs.push_back(9000311);
115  myStrangeMesonsPDGs.push_back(9000321);
116  myStrangeMesonsPDGs.push_back(313);
117  myStrangeMesonsPDGs.push_back(323);
118  myStrangeMesonsPDGs.push_back(10313);
119  myStrangeMesonsPDGs.push_back(10323);
120  myStrangeMesonsPDGs.push_back(20313);
121  myStrangeMesonsPDGs.push_back(20323);
122  myStrangeMesonsPDGs.push_back(100313);
123  myStrangeMesonsPDGs.push_back(10323);
124  myStrangeMesonsPDGs.push_back(9000313);
125  myStrangeMesonsPDGs.push_back(9000323);
126  myStrangeMesonsPDGs.push_back(30313);
127  myStrangeMesonsPDGs.push_back(30323);
128  myStrangeMesonsPDGs.push_back(315);
129  myStrangeMesonsPDGs.push_back(325);
130  myStrangeMesonsPDGs.push_back(9000315);
131  myStrangeMesonsPDGs.push_back(9000325);
132  myStrangeMesonsPDGs.push_back(10315);
133  myStrangeMesonsPDGs.push_back(10325);
134  myStrangeMesonsPDGs.push_back(20315);
135  myStrangeMesonsPDGs.push_back(20325);
136  myStrangeMesonsPDGs.push_back(100315);
137  myStrangeMesonsPDGs.push_back(100325);
138  myStrangeMesonsPDGs.push_back(9010315);
139  myStrangeMesonsPDGs.push_back(9010325);
140  myStrangeMesonsPDGs.push_back(317);
141  myStrangeMesonsPDGs.push_back(327);
142  myStrangeMesonsPDGs.push_back(9010317);
143  myStrangeMesonsPDGs.push_back(9010327);
144  myStrangeMesonsPDGs.push_back(319);
145  myStrangeMesonsPDGs.push_back(329);
146  myStrangeMesonsPDGs.push_back(9000319);
147  myStrangeMesonsPDGs.push_back(9000329);
148  ///////////////CHARMEDBARYONS//////////////////////
149  myCharmedBaryonsPDGs.push_back(4122);
150  myCharmedBaryonsPDGs.push_back(4222);
151  myCharmedBaryonsPDGs.push_back(4212);
152  myCharmedBaryonsPDGs.push_back(4112);
153  myCharmedBaryonsPDGs.push_back(4224);
154  myCharmedBaryonsPDGs.push_back(4214);
155  myCharmedBaryonsPDGs.push_back(4114);
156  myCharmedBaryonsPDGs.push_back(4232);
157  myCharmedBaryonsPDGs.push_back(4132);
158  myCharmedBaryonsPDGs.push_back(4322);
159  myCharmedBaryonsPDGs.push_back(4312);
160  myCharmedBaryonsPDGs.push_back(4324);
161  myCharmedBaryonsPDGs.push_back(4314);
162  myCharmedBaryonsPDGs.push_back(4332);
163  myCharmedBaryonsPDGs.push_back(4334);
164  myCharmedBaryonsPDGs.push_back(4412);
165  myCharmedBaryonsPDGs.push_back(4422);
166  myCharmedBaryonsPDGs.push_back(4414);
167  myCharmedBaryonsPDGs.push_back(4424);
168  myCharmedBaryonsPDGs.push_back(4432);
169  myCharmedBaryonsPDGs.push_back(4434);
170  myCharmedBaryonsPDGs.push_back(4444);
171  ///////////////CHARMEDHADRONS//////////////////////
175  ///////////////BOTTOMBARYONS//////////////////////
176  myBottomBaryonsPDGs.push_back(5122);
177  myBottomBaryonsPDGs.push_back(5112);
178  myBottomBaryonsPDGs.push_back(5212);
179  myBottomBaryonsPDGs.push_back(5222);
180  myBottomBaryonsPDGs.push_back(5114);
181  myBottomBaryonsPDGs.push_back(5214);
182  myBottomBaryonsPDGs.push_back(5224);
183  myBottomBaryonsPDGs.push_back(5132);
184  myBottomBaryonsPDGs.push_back(5232);
185  myBottomBaryonsPDGs.push_back(5312);
186  myBottomBaryonsPDGs.push_back(5322);
187  myBottomBaryonsPDGs.push_back(5314);
188  myBottomBaryonsPDGs.push_back(5324);
189  myBottomBaryonsPDGs.push_back(5332);
190  myBottomBaryonsPDGs.push_back(5334);
191  myBottomBaryonsPDGs.push_back(5142);
192  myBottomBaryonsPDGs.push_back(5242);
193  myBottomBaryonsPDGs.push_back(5412);
194  myBottomBaryonsPDGs.push_back(5422);
195  myBottomBaryonsPDGs.push_back(5414);
196  myBottomBaryonsPDGs.push_back(5424);
197  myBottomBaryonsPDGs.push_back(5342);
198  myBottomBaryonsPDGs.push_back(5432);
199  myBottomBaryonsPDGs.push_back(5434);
200  myBottomBaryonsPDGs.push_back(5442);
201  myBottomBaryonsPDGs.push_back(5444);
202  myBottomBaryonsPDGs.push_back(5512);
203  myBottomBaryonsPDGs.push_back(5522);
204  myBottomBaryonsPDGs.push_back(5514);
205  myBottomBaryonsPDGs.push_back(5524);
206  myBottomBaryonsPDGs.push_back(5532);
207  myBottomBaryonsPDGs.push_back(5534);
208  myBottomBaryonsPDGs.push_back(5542);
209  myBottomBaryonsPDGs.push_back(5544);
210  ///////////////BOTTOMHADRONS//////////////////////
214  ///////////////NONTRACKABLE//////////////////////
215  myTauLeptonPDGs.push_back(15);
216  ///////////////TRACKABLE//////////////////////
217  myTrackableParticlesPDGs.push_back(11);
218  myTrackableParticlesPDGs.push_back(13);
219  myTrackableParticlesPDGs.push_back(211);
220  myTrackableParticlesPDGs.push_back(321);
221  myTrackableParticlesPDGs.push_back(2212);
222  ///////////////NONTRACKABLE//////////////////////
223  myNonTrackableParticlesPDGs.push_back(111);
224  myNonTrackableParticlesPDGs.push_back(22);
225  myNonTrackableParticlesPDGs.push_back(2112);
226  myNonTrackableParticlesPDGs.push_back(3122);
227  myNonTrackableParticlesPDGs.push_back(130);
228  myNonTrackableParticlesPDGs.push_back(310);
229  }
230  } _initializer;
231 
232  private:
233  //
234  // Data
235  //
236  static std::vector<int> myCharmedMesonsPDGs;
237  static std::vector<int> myBottomMesonsPDGs;
238  static std::vector<int> myStrangeMesonsPDGs;
239  static std::vector<int> myBottomBaryonsPDGs;
240  static std::vector<int> myBottomHadronsPDGs;
241  static std::vector<int> myCharmedBaryonsPDGs;
242  static std::vector<int> myCharmedHadronsPDGs;
243  static std::vector<int> myTrackableParticlesPDGs;
244  static std::vector<int> myNonTrackableParticlesPDGs;
245  static std::vector<int> myTauLeptonPDGs;
246  static std::vector<int> myEmptyPDGs;
247  //
248  // Private methods
249  //
250 
251 
252  };
253 } /* TTbarAnalysis */
254 #endif
static const std::vector< int > & CHARMED_BARYONS_PDG()
static std::vector< int > myCharmedMesonsPDGs
static const std::vector< int > & STRANGE_MESONS_PDG()
static std::vector< int > myEmptyPDGs
static std::vector< int > myCharmedBaryonsPDGs
static const std::vector< int > & BOTTOM_HADRONS_PDG()
static const std::vector< int > & GET_PDG(PDGTYPE type)
static const std::vector< int > & CHARMED_HADRONS_PDG()
static std::vector< int > myBottomBaryonsPDGs
static class TTbarAnalysis::ConstantStorage::_init _initializer
static const std::vector< int > & TAU_LEPTON_PDG()
static std::vector< int > myTauLeptonPDGs
static const std::vector< int > & BOTTOM_MESONS_PDG()
static std::vector< int > myTrackableParticlesPDGs
static const std::vector< int > & CHARMED_MESONS_PDG()
static const std::vector< int > & BOTTOM_BARYONS_PDG()
static std::vector< int > myStrangeMesonsPDGs
static std::vector< int > myNonTrackableParticlesPDGs
static std::vector< int > myCharmedHadronsPDGs
static const std::vector< int > & TRACKABLE_PARTICLES_PDG()
static std::vector< int > myBottomHadronsPDGs
static std::vector< int > myBottomMesonsPDGs
static const std::vector< int > & NONTRACKABLE_PARTICLES_PDG()