PandaRoot
RhoCandList.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 #ifndef RHOCANDLIST_H
14 #define RHOCANDLIST_H
15 // //
17 // RhoCandList //
18 // //
19 // Container class for RhoCandidates //
20 // //
21 // Author List: //
22 // Marcel Kunze, RUB, Feb. 99 //
23 // Copyright (C) 1999-2001, Ruhr-University Bochum. //
24 // Ralf Kliemt, HIM/GSI Feb.2013 (Cleanup & Restructuring) //
25 // //
27 #include <iostream>
28 #include "TNamed.h"
29 #include "TClonesArray.h"
30 #include "TObjArray.h"
31 #include "TVector.h"
32 #include "TVector3.h"
33 #include "TParticlePDG.h"
34 
35 class RhoCandidate;
38 
39 class RhoCandList : public TNamed {
40 
41  public:
42  // Constructor
43  RhoCandList(const char *name = "RhoCandList", UInt_t capacity = 512);
45  // Destructor
46  virtual ~RhoCandList();
47  void Cleanup();
48 
49  void SetNumberOfTracks(Int_t);
51  Int_t GetNumberOfTracks() const;
52  Int_t GetNumberOfCandidates() const { return GetNumberOfTracks(); }
53  Int_t GetLength() const { return GetNumberOfTracks(); }
54  void Add(const RhoCandidate *c) { Put(c); }
55  void Append(const RhoCandidate *c) { Put(c); }
56  void Append(RhoCandList &l, RhoParticleSelectorBase *pidmgr = nullptr);
57  void Put(const RhoCandidate *, Int_t i = -1);
58  void InsertAt(Int_t i, const RhoCandidate *c);
59 
60  // without type
61  void Combine(RhoCandList &l1, RhoCandList &l2);
62  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3); // added 06/08 K.Goetzen
63  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4); // added 06/08 K.Goetzen
64  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5); // added 06/08 K.Goetzen
65  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6); // added 03/2017 R.Kliemt
66  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7); // added 03/2017 R.Kliemt
67  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8); // added 03/2017 R.Kliemt
69  RhoCandList &l9); // added 03/2017 R.Kliemt
71  RhoCandList &l10); // added 03/2017 R.Kliemt
72 
74  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3); // added 06/08 K.Goetzen
75  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4); // added 06/08 K.Goetzen
76  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5); // added 06/08 K.Goetzen
77  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6); // added 03/2017 R.Kliemt
78  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7); // added 03/2017 R.Kliemt
80  RhoCandList &l8); // added 03/2017 R.Kliemt
82  RhoCandList &l9); // added 03/2017 R.Kliemt
84  RhoCandList &l10);
85 
86  // with type as TParticlePDG
87  void Combine(RhoCandList &l1, RhoCandList &l2, const TParticlePDG *pdt)
88  {
89  Combine(l1, l2);
90  SetType(pdt);
91  }
92  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, const TParticlePDG *pdt)
93  {
94  Combine(l1, l2, l3);
95  SetType(pdt);
96  }
97  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, const TParticlePDG *pdt)
98  {
99  Combine(l1, l2, l3, l4);
100  SetType(pdt);
101  }
102  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, const TParticlePDG *pdt)
103  {
104  Combine(l1, l2, l3, l4, l5);
105  SetType(pdt);
106  }
107  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, const TParticlePDG *pdt)
108  {
109  Combine(l1, l2, l3, l4, l5, l6);
110  SetType(pdt);
111  }; // added 03/2017 R.Kliemt
112  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, const TParticlePDG *pdt)
113  {
114  Combine(l1, l2, l3, l4, l5, l6, l7);
115  SetType(pdt);
116  }; // added 03/2017 R.Kliemt
117  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, const TParticlePDG *pdt)
118  {
119  Combine(l1, l2, l3, l4, l5, l6, l7, l8);
120  SetType(pdt);
121  }; // added 03/2017 R.Kliemt
123  const TParticlePDG *pdt)
124  {
125  Combine(l1, l2, l3, l4, l5, l6, l7, l8, l9);
126  SetType(pdt);
127  }; // added 03/2017 R.Kliemt
129  RhoCandList &l10, const TParticlePDG *pdt)
130  {
131  Combine(l1, l2, l3, l4, l5, l6, l7, l8, l9, l10);
132  SetType(pdt);
133  }; // added 03/2017 R.Kliemt
134 
135  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, const TParticlePDG *pdt)
136  {
137  int s = GetLength();
138  CombineAndAppend(l1, l2);
139  SetType(pdt, s);
140  }
141  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, const TParticlePDG *pdt)
142  {
143  int s = GetLength();
144  CombineAndAppend(l1, l2, l3);
145  SetType(pdt, s);
146  }
147  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, const TParticlePDG *pdt)
148  {
149  int s = GetLength();
150  CombineAndAppend(l1, l2, l3, l4);
151  SetType(pdt, s);
152  }
153  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, const TParticlePDG *pdt)
154  {
155  int s = GetLength();
156  CombineAndAppend(l1, l2, l3, l4, l5);
157  SetType(pdt, s);
158  }
159  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, const TParticlePDG *pdt)
160  {
161  int s = GetLength();
162  CombineAndAppend(l1, l2, l3, l4, l5, l6);
163  SetType(pdt, s);
164  }; // added 03/2017 R.Kliemt
165  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, const TParticlePDG *pdt)
166  {
167  int s = GetLength();
168  CombineAndAppend(l1, l2, l3, l4, l5, l6, l7);
169  SetType(pdt, s);
170  }; // added 03/2017 R.Kliemt
171  void
172  CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, const TParticlePDG *pdt)
173  {
174  int s = GetLength();
175  CombineAndAppend(l1, l2, l3, l4, l5, l6, l7, l8);
176  SetType(pdt, s);
177  }; // added 03/2017 R.Kliemt
179  const TParticlePDG *pdt)
180  {
181  int s = GetLength();
182  CombineAndAppend(l1, l2, l3, l4, l5, l6, l7, l8, l9);
183  SetType(pdt, s);
184  }; // added 03/2017 R.Kliemt
186  RhoCandList &l10, const TParticlePDG *pdt)
187  {
188  int s = GetLength();
189  CombineAndAppend(l1, l2, l3, l4, l5, l6, l7, l8, l9, l10);
190  SetType(pdt, s);
191  };
192 
193  // with type as char* (name)
194  void Combine(RhoCandList &l1, RhoCandList &l2, const char *name)
195  {
196  Combine(l1, l2);
197  SetType(name);
198  }
199  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, const char *name)
200  {
201  Combine(l1, l2, l3);
202  SetType(name);
203  }
204  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, const char *name)
205  {
206  Combine(l1, l2, l3, l4);
207  SetType(name);
208  }
209  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, const char *name)
210  {
211  Combine(l1, l2, l3, l4, l5);
212  SetType(name);
213  }
214  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, const char *name)
215  {
216  Combine(l1, l2, l3, l4, l5, l6);
217  SetType(name);
218  }; // added 03/2017 R.Kliemt
219  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, const char *name)
220  {
221  Combine(l1, l2, l3, l4, l5, l6, l7);
222  SetType(name);
223  }; // added 03/2017 R.Kliemt
224  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, const char *name)
225  {
226  Combine(l1, l2, l3, l4, l5, l6, l7, l8);
227  SetType(name);
228  }; // added 03/2017 R.Kliemt
229  void
230  Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, RhoCandList &l9, const char *name)
231  {
232  Combine(l1, l2, l3, l4, l5, l6, l7, l8, l9);
233  SetType(name);
234  }; // added 03/2017 R.Kliemt
236  RhoCandList &l10, const char *name)
237  {
238  Combine(l1, l2, l3, l4, l5, l6, l7, l8, l9, l10);
239  SetType(name);
240  }; // added 03/2017 R.Kliemt
241 
242  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, const char *name)
243  {
244  int s = GetLength();
245  CombineAndAppend(l1, l2);
246  SetType(name, s);
247  }
248  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, const char *name)
249  {
250  int s = GetLength();
251  CombineAndAppend(l1, l2, l3);
252  SetType(name, s);
253  }
254  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, const char *name)
255  {
256  int s = GetLength();
257  CombineAndAppend(l1, l2, l3, l4);
258  SetType(name, s);
259  }
260  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, const char *name)
261  {
262  int s = GetLength();
263  CombineAndAppend(l1, l2, l3, l4, l5);
264  SetType(name, s);
265  }
266  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, const char *name)
267  {
268  int s = GetLength();
269  CombineAndAppend(l1, l2, l3, l4, l5, l6);
270  SetType(name, s);
271  }; // added 03/2017 R.Kliemt
272  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, const char *name)
273  {
274  int s = GetLength();
275  CombineAndAppend(l1, l2, l3, l4, l5, l6, l7);
276  SetType(name, s);
277  }; // added 03/2017 R.Kliemt
278  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, const char *name)
279  {
280  int s = GetLength();
281  CombineAndAppend(l1, l2, l3, l4, l5, l6, l7, l8);
282  SetType(name, s);
283  }; // added 03/2017 R.Kliemt
285  const char *name)
286  {
287  int s = GetLength();
288  CombineAndAppend(l1, l2, l3, l4, l5, l6, l7, l8, l9);
289  SetType(name, s);
290  }; // added 03/2017 R.Kliemt
292  RhoCandList &l10, const char *name)
293  {
294  int s = GetLength();
295  CombineAndAppend(l1, l2, l3, l4, l5, l6, l7, l8, l9, l10);
296  SetType(name, s);
297  };
298 
299  // with type as int (pdgtype)
300  void Combine(RhoCandList &l1, RhoCandList &l2, Int_t pdgcode)
301  {
302  Combine(l1, l2);
303  SetType(pdgcode);
304  }
305  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, Int_t pdgcode)
306  {
307  Combine(l1, l2, l3);
308  SetType(pdgcode);
309  }
310  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, Int_t pdgcode)
311  {
312  Combine(l1, l2, l3, l4);
313  SetType(pdgcode);
314  }
315  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, Int_t pdgcode)
316  {
317  Combine(l1, l2, l3, l4, l5);
318  SetType(pdgcode);
319  }
320  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, Int_t pdgcode)
321  {
322  Combine(l1, l2, l3, l4, l5, l6);
323  SetType(pdgcode);
324  }; // added 03/2017 R.Kliemt
325  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, Int_t pdgcode)
326  {
327  Combine(l1, l2, l3, l4, l5, l6, l7);
328  SetType(pdgcode);
329  }; // added 03/2017 R.Kliemt
330  void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, Int_t pdgcode)
331  {
332  Combine(l1, l2, l3, l4, l5, l6, l7, l8);
333  SetType(pdgcode);
334  }; // added 03/2017 R.Kliemt
335  void
337  {
338  Combine(l1, l2, l3, l4, l5, l6, l7, l8, l9);
339  SetType(pdgcode);
340  }; // added 03/2017 R.Kliemt
342  RhoCandList &l10, Int_t pdgcode)
343  {
344  Combine(l1, l2, l3, l4, l5, l6, l7, l8, l9, l10);
345  SetType(pdgcode);
346  }; // added 03/2017 R.Kliemt
347 
348  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, Int_t pdgcode)
349  {
350  int s = GetLength();
351  CombineAndAppend(l1, l2);
352  SetType(pdgcode, s);
353  }
354  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, Int_t pdgcode)
355  {
356  int s = GetLength();
357  CombineAndAppend(l1, l2, l3);
358  SetType(pdgcode, s);
359  }
360  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, Int_t pdgcode)
361  {
362  int s = GetLength();
363  CombineAndAppend(l1, l2, l3, l4);
364  SetType(pdgcode, s);
365  }
366  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, Int_t pdgcode)
367  {
368  int s = GetLength();
369  CombineAndAppend(l1, l2, l3, l4, l5);
370  SetType(pdgcode, s);
371  }
372  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, Int_t pdgcode)
373  {
374  int s = GetLength();
375  CombineAndAppend(l1, l2, l3, l4, l5, l6);
376  SetType(pdgcode, s);
377  }; // added 03/2017 R.Kliemt
378  void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, Int_t pdgcode)
379  {
380  int s = GetLength();
381  CombineAndAppend(l1, l2, l3, l4, l5, l6, l7);
382  SetType(pdgcode, s);
383  }; // added 03/2017 R.Kliemt
385  {
386  int s = GetLength();
387  CombineAndAppend(l1, l2, l3, l4, l5, l6, l7, l8);
388  SetType(pdgcode, s);
389  }; // added 03/2017 R.Kliemt
391  Int_t pdgcode)
392  {
393  int s = GetLength();
394  CombineAndAppend(l1, l2, l3, l4, l5, l6, l7, l8, l9);
395  SetType(pdgcode, s);
396  }; // added 03/2017 R.Kliemt
398  RhoCandList &l10, Int_t pdgcode)
399  {
400  int s = GetLength();
401  CombineAndAppend(l1, l2, l3, l4, l5, l6, l7, l8, l9, l10);
402  SetType(pdgcode, s);
403  };
404 
405  // set type for complete list or starting from index 'start'
406  void SetType(const TParticlePDG *pdt, int start = 0);
407  void SetType(const char *name, int start = 0);
408  void SetType(Int_t pdgcode, int start = 0);
409 
410  void Select(RhoParticleSelectorBase *pidmgr);
411  void Select(RhoCandList &l, RhoParticleSelectorBase *pidmgr);
412  void Select(RhoCandList &l, Bool_t (*selfunc)(RhoCandidate *));
413  Int_t OccurrencesOf(RhoCandidate *);
414  Int_t Remove(RhoCandidate *); // Returns #removed cands
415  Int_t RemoveFamily(RhoCandidate *); // Returns #removed cands
416  Int_t RemoveClones(); // Returns #removed cands
417  void Reset() { SetNumberOfTracks(0); }
418  RhoCandidate *Get(Int_t);
419  RhoCandidate *GetConst(Int_t) const;
420 
422  void FillFittedList(RhoCandList &fittedlist);
423 
424  // Analysis functions
425 
426  void Boost(const TVector3 &);
427  Double_t GetTotalEnergy(Double_t emin = 0.0);
428  TVector3 GetTotalMomentum(Double_t pmin = 0.0);
429 
430  // operations which work on existing lists
431 
432  void PrintOn(std::ostream &o = std::cout) const;
433  void Sort(int (*compfunc)(const RhoCandidate **, const RhoCandidate **));
434 
435  void Remainder(RhoCandList &);
436 
437  void operator=(const RhoCandList &);
438  RhoCandidate *operator[](Int_t);
439 
440  void SetFast(Bool_t yesno = kTRUE) { fFast = yesno; }
441 
442  private:
443  TObjArray *fOwnList; // This holds the candidates
444  Bool_t fFast; // Fast mode = no error matrices
445 
446  ClassDef(RhoCandList, 1) // Container for RhoCandidates
447 };
448 
449 // standalone print
450 std::ostream &operator<<(std::ostream &o, const RhoCandList &);
451 
452 #endif
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, const TParticlePDG *pdt)
Definition: RhoCandList.h:147
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, Int_t pdgcode)
Definition: RhoCandList.h:360
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, Int_t pdgcode)
Definition: RhoCandList.h:310
void InsertAt(Int_t i, const RhoCandidate *c)
void Add(const RhoCandidate *c)
Definition: RhoCandList.h:54
Int_t GetNumberOfCandidates() const
Definition: RhoCandList.h:52
void Combine(RhoCandList &l1, RhoCandList &l2, Int_t pdgcode)
Definition: RhoCandList.h:300
Int_t RemoveClones()
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, const char *name)
Definition: RhoCandList.h:214
void Append(const RhoCandidate *c)
Definition: RhoCandList.h:55
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, RhoCandList &l9, const char *name)
Definition: RhoCandList.h:284
void Cleanup()
Int_t GetNumberOfTracks() const
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, Int_t pdgcode)
Definition: RhoCandList.h:348
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, Int_t pdgcode)
Definition: RhoCandList.h:354
void Combine(RhoCandList &l1, RhoCandList &l2, const char *name)
Definition: RhoCandList.h:194
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, const char *name)
Definition: RhoCandList.h:224
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, const TParticlePDG *pdt)
Definition: RhoCandList.h:97
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, const TParticlePDG *pdt)
Definition: RhoCandList.h:102
Int_t GetLength() const
Definition: RhoCandList.h:53
void SetNumberOfTracks(Int_t)
RhoCandList(const char *name="RhoCandList", UInt_t capacity=512)
void Boost(const TVector3 &)
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, const char *name)
Definition: RhoCandList.h:266
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, RhoCandList &l9, const TParticlePDG *pdt)
Definition: RhoCandList.h:178
TVector3 GetTotalMomentum(Double_t pmin=0.0)
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, const char *name)
Definition: RhoCandList.h:260
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, const char *name)
Definition: RhoCandList.h:272
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, const char *name)
Definition: RhoCandList.h:199
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, RhoCandList &l9, RhoCandList &l10, const TParticlePDG *pdt)
Definition: RhoCandList.h:128
virtual ~RhoCandList()
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, const char *name)
Definition: RhoCandList.h:278
unsigned int i
Definition: P4_F32vec4.h:33
RhoCandList * GetFittedList()
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, const TParticlePDG *pdt)
Definition: RhoCandList.h:92
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, RhoCandList &l9, Int_t pdgcode)
Definition: RhoCandList.h:336
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, const TParticlePDG *pdt)
Definition: RhoCandList.h:159
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, const TParticlePDG *pdt)
Definition: RhoCandList.h:112
void Reset()
Definition: RhoCandList.h:417
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, const char *name)
Definition: RhoCandList.h:209
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, RhoCandList &l9, RhoCandList &l10, Int_t pdgcode)
Definition: RhoCandList.h:341
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, const TParticlePDG *pdt)
Definition: RhoCandList.h:117
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2)
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, RhoCandList &l9, RhoCandList &l10, const TParticlePDG *pdt)
Definition: RhoCandList.h:185
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, Int_t pdgcode)
Definition: RhoCandList.h:330
void Combine(RhoCandList &l1, RhoCandList &l2)
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, RhoCandList &l9, RhoCandList &l10, const char *name)
Definition: RhoCandList.h:291
void operator=(const RhoCandList &)
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, const char *name)
Definition: RhoCandList.h:242
void Select(RhoParticleSelectorBase *pidmgr)
RhoCandidate * GetConst(Int_t) const
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, Int_t pdgcode)
Definition: RhoCandList.h:325
void SetType(const TParticlePDG *pdt, int start=0)
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, Int_t pdgcode)
Definition: RhoCandList.h:372
void SetFast(Bool_t yesno=kTRUE)
Definition: RhoCandList.h:440
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, Int_t pdgcode)
Definition: RhoCandList.h:384
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, const TParticlePDG *pdt)
Definition: RhoCandList.h:172
Int_t Remove(RhoCandidate *)
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, const TParticlePDG *pdt)
Definition: RhoCandList.h:141
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, const char *name)
Definition: RhoCandList.h:219
Int_t RemoveFamily(RhoCandidate *)
void Sort(int(*compfunc)(const RhoCandidate **, const RhoCandidate **))
Int_t OccurrencesOf(RhoCandidate *)
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, RhoCandList &l9, RhoCandList &l10, Int_t pdgcode)
Definition: RhoCandList.h:397
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, Int_t pdgcode)
Definition: RhoCandList.h:320
void Remainder(RhoCandList &)
RhoCandidate * operator[](Int_t)
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, const char *name)
Definition: RhoCandList.h:204
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, RhoCandList &l9, const TParticlePDG *pdt)
Definition: RhoCandList.h:122
void FillFittedList(RhoCandList &fittedlist)
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, Int_t pdgcode)
Definition: RhoCandList.h:378
void PrintOn(std::ostream &o=std::cout) const
RhoCandidate * Get(Int_t)
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, RhoCandList &l9, RhoCandList &l10, const char *name)
Definition: RhoCandList.h:235
void Put(const RhoCandidate *, Int_t i=-1)
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, Int_t pdgcode)
Definition: RhoCandList.h:366
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, const char *name)
Definition: RhoCandList.h:248
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, const TParticlePDG *pdt)
Definition: RhoCandList.h:107
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, const TParticlePDG *pdt)
Definition: RhoCandList.h:135
std::ostream & operator<<(std::ostream &o, const RhoCandList &)
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, Int_t pdgcode)
Definition: RhoCandList.h:305
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, RhoCandList &l9, Int_t pdgcode)
Definition: RhoCandList.h:390
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, Int_t pdgcode)
Definition: RhoCandList.h:315
void Combine(RhoCandList &l1, RhoCandList &l2, const TParticlePDG *pdt)
Definition: RhoCandList.h:87
void SetNumberOfCandidates(Int_t n)
Definition: RhoCandList.h:50
Double_t GetTotalEnergy(Double_t emin=0.0)
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, const TParticlePDG *pdt)
Definition: RhoCandList.h:153
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, const TParticlePDG *pdt)
Definition: RhoCandList.h:165
void Combine(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, RhoCandList &l5, RhoCandList &l6, RhoCandList &l7, RhoCandList &l8, RhoCandList &l9, const char *name)
Definition: RhoCandList.h:230
void CombineAndAppend(RhoCandList &l1, RhoCandList &l2, RhoCandList &l3, RhoCandList &l4, const char *name)
Definition: RhoCandList.h:254