This is the analysis class generated by default by KaliVedaGUI for raw data analysis.
#pragma once
#include "KVRawDataAnalyser.h"
#include <vector>
#include <string>
{
int n_sig;
public:
ExampleRawAnalysis() = default;
};
#define ClassDefOverride(name, id)
Abstract base class for user analysis of raw data.
virtual Bool_t Analysis()=0
virtual void EndAnalysis()=0
virtual void InitAnalysis()=0
DisplacementVector3D< CoordSystem, U > Mult(const Matrix &m, const DisplacementVector3D< CoordSystem, U > &v)
#include "ExampleRawAnalysis.h"
#include "KVMultiDetArray.h"
void ExampleRawAnalysis::InitAnalysis()
{
AddHisto<TH1F>("Mult", "Number of fired detectors in each event", 1000, -.5, 999.5);
auto tt = AddTree(
"raw_data",
"");
tt->Branch(
"n_sig", &n_sig);
AddVectorBranch<int>(
tt,
"det_index");
AddVectorBranch<std::string>(
tt,
"det_type");
AddVectorBranch<std::string>(
tt,
"sig_type");
AddVectorBranch<float>(
tt,
"sig_val");
SetJobOutputFileName("ExampleRawAnalysis_results.root");
}
void ExampleRawAnalysis::InitRun()
{
Info(
"InitRun",
"Beginning analysis of runfile %s containing %llu events", GetRunIndexNumber().as_string().Data(), GetCurrentRunFile()->GetEvents());
GetCurrentRunFile()->ls();
GetTree("raw_data")->SetTitle(GetSystem()->GetName());
}
Bool_t ExampleRawAnalysis::Analysis()
{
ClearVectorBranches();
FillHisto("Mult", Mult);
n_sig=0;
++n_sig;
FillVectorBranch(
"sig_type",(std::string)det_sig->
GetType());
FillVectorBranch(
"sig_val",det_sig->
GetValue());
}
}
}
const Char_t * GetLabel() const
Base class for output signal data produced by a detector.
const Char_t * GetType() const override
virtual Double_t GetValue(const KVNameValueList ¶ms="") const
const KVDetector * GetDetector() const
virtual Int_t GetIndex() const
const KVSeqCollection * GetFiredSignals() const
Bool_t HandledRawData() const
const KVSeqCollection * GetFiredDetectors() const
virtual Int_t GetEntries() const
void FillTree(TTree &myTree, const RooDataSet &data)