Example of an analysis class for simulated data
A simple example of analysis of simulated data, for use with kaliveda-sim
#ifndef __EXAMPLESIMDATAANALYSIS_H
#define __EXAMPLESIMDATAANALYSIS_H
#include "KVEventSelector.h"
public:
ExampleSimDataAnalysis() {}
virtual ~ExampleSimDataAnalysis() {}
};
#endif
#define ClassDef(name, id)
General purpose analysis base class for TTree containing KVEvent objects.
virtual void InitAnalysis()
virtual Bool_t Analysis()
virtual void EndAnalysis()
#include "ExampleSimDataAnalysis.h"
#include "KVSimNucleus.h"
#include "KVBatchSystem.h"
#include "KVSimEvent.h"
void ExampleSimDataAnalysis::InitAnalysis()
{
AddGV("KVMult", "mult");
AddGV(
"KVMult",
"Mcha")->SetSelection({
"Z>0", [](
const KVNucleus *
n)
{
}});
for (int EC = 0; EC <= 5; ++EC)
AddHisto<TH2F>(
Form(
"VparVper_alphas_EC%d", EC),
Form(
"#alpha particle velocities EC=%d", EC),
250, -15, 15, 250, -15, 15);
auto t = AddTree("data", GetOpt("SimulationInfos"));
GetGVList()->MakeBranches(t);
}
Bool_t ExampleSimDataAnalysis::Analysis()
{
Int_t EC = GetGV(
"mult_EC")->GetValue();
if (part.IsIsotope(2, 4)) FillHisto(
Form(
"VparVper_alphas_EC%d", EC),
part.GetVpar(), part.GetVperp());
}
GetGVList()->FillBranches();
}
char * Form(const char *fmt,...)
Simple class for sorting events according to global variables.
Description of properties and kinematics of atomic nuclei.
Wrapper class for iterating over nuclei in KVSimEvent accessed through base pointer or reference.
void FillTree(TTree &myTree, const RooDataSet &data)