4 #include "KVUniqueNameList.h"
5 #include "KVParticleCondition.h"
7 #include "KVEventClassifier.h"
9 #include <KVUnownedList.h>
228 std::vector<Double_t> fBranchVar;
229 std::vector<Int_t> fIBranchVar;
232 bool fAbortEventAnalysis;
246 #ifdef KVGVLIST_OPTIMIZE_GVLIST
248 struct optigvlist :
public TObject {
252 bool has_two_body =
false;
253 bool has_N_body =
false;
260 template<
typename call_func>
269 template<
typename call_func>
278 template<
typename call_func>
279 void iterate_one_body(call_func
F)
283 template<
typename call_func>
284 void iterate_two_body(call_func
F)
288 template<
typename call_func>
289 void iterate_N_body(call_func
F)
293 template<
typename call_func>
294 void iterate_one_body_with_test(call_func
F)
296 iterate_with_test(&one_body,
F);
298 template<
typename call_func>
299 void iterate_two_body_with_test(call_func
F)
301 iterate_with_test(&two_body,
F);
303 template<
typename call_func>
304 void iterate_N_body_with_test(call_func
F)
306 iterate_with_test(&N_body,
F);
309 void optimise_variable_lists();
312 void init_KVGVList(
void);
372 return fAbortEventAnalysis;
#define ClassDefOverride(name, id)
Simple class for sorting events according to global variables.
Abstract base class container for multi-particle events.
Manage a list of global variables.
Bool_t Has1BodyVariables()
returns kTRUE if list contains 1-body variables
KVVarGlob * AddGVFirst(const Char_t *class_name, const Char_t *name)
void Reset(void)
Reset all variables before treating an event.
Bool_t HasNBodyVariables()
returns kTRUE if list contains N-body variables
void Add(TObject *obj) override
void AddFirst(TObject *obj) override
void CalculateGlobalVariables(KVEvent *e)
KVGVList(const KVString &name="default", const KVParticleCondition &selection=KVParticleCondition{"OK", [](const KVNucleus *n) { return n->IsOK();}})
KVEventClassifier * AddEventClassifier(const TString &varname, const TString &value="")
KVVarGlob * AddGV(const Char_t *class_name, const Char_t *name)
KVVarGlob * GetGVType(const Char_t *class_name)
Returns first global variable in list with given class.
void MakeBranches(TTree *)
KVVarGlob * GetGV(const Char_t *nom) const
Return pointer to global variable in list with name 'nom'.
Bool_t Has2BodyVariables()
returns kTRUE if list contains 2-body variables
bool AbortEventAnalysis() const
Extended TList class which owns its objects by default.
Description of properties and kinematics of atomic nuclei.
Implement selections for KVNucleus objects.
TObject * FindObjectByClass(const Char_t *) const
Return (first) object in embedded list with given class.
Extension of ROOT TString class which allows backwards compatibility with ROOT v3....
Optimised list in which named objects can only be placed once.
Extended TList class which does not own its objects by default.
Base class for all global variable implementations.
void ls(Option_t *option="") const override
virtual Int_t GetEntries() const
TString & ReplaceAll(const char *s1, const char *s2)
int iterate(rng_state_t *X)