1 #ifndef AnalysisAlgorithm_h 2 #define AnalysisAlgorithm_h 4 #include "HighlandInputManager.hxx" 5 #include "SelectionManager.hxx" 6 #include "OutputManager.hxx" 7 #include "ConfigurationManager.hxx" 8 #include "CorrectionManager.hxx" 9 #include "SystematicManager.hxx" 10 #include "EventWeightManager.hxx" 11 #include "EventVariationManager.hxx" 12 #include "CategoryManager.hxx" 13 #include "DocStringManager.hxx" 14 #include "Deprecated.hxx" 25 enum enumAnalysisPoint{
28 kDefineInputConverters,
32 kDefineConfigurations,
38 kInitializeConfiguration,
43 kFillToyVarsInMicroTrees,
44 kFinalizeConfiguration,
66 virtual bool InitializeSpill(){
return true;}
67 virtual void FinalizeSpill(){}
69 virtual void InitializeBunch(){}
70 virtual void FinalizeBunch(){}
72 virtual void InitializeConfiguration(){}
73 virtual bool FinalizeConfiguration(){
return true;}
75 virtual void InitializeToy(){}
76 virtual void FinalizeToy(){}
81 virtual void FillCategories(){}
83 virtual void FillConfigTree(){}
94 virtual void DefineProductions() = 0;
95 virtual void DefineInputConverters() = 0;
96 virtual void DefineSelections() = 0;
97 virtual void DefineCorrections() = 0;
98 virtual void DefineSystematics() = 0;
99 virtual void DefineConfigurations() = 0;
100 virtual void DefineMicroTrees(
bool addBase=
true) = 0;
101 virtual void DefineTruthTree() = 0;
103 virtual void FillMicroTrees(
bool addBase=
true) = 0;
104 virtual void FillToyVarsInMicroTrees(
bool addBase=
true) = 0;
105 virtual void FillTruthTree() = 0;
160 virtual const ToyBoxB& boxB(Int_t isel=-1)
const;
221 enumAnalysisPoint _analysisPoint;
225 enum enumStandardMicroTrees_AnalysisAlgorithm {
226 firstCategory = OutputManager::enumStandardMicroTreesLast_OutputManager+1,
227 firstCategoryCounter = firstCategory+NMAXCATEG,
228 entry = firstCategoryCounter + NMAXCATEGCOUNTERS,
241 last_cut=first_cut+NMAXSTEPS,
242 enumStandardMicroTreesLast_AnalysisAlgorithm
245 enum enumConfigTree_AnalysisAlgorithm{
252 enumConfigTreeLast_AnalysisAlgorithm
EventVariationManager * _variationManager
EventVariation Manager.
void SetSelectedSelection(Int_t sel)
Select one of the selections.
void SetMinAccumCutLevelToSave(Int_t level)
Set the minimum accumulated cut level to save an event into the micro-tree.
virtual AnaEventC * MakeEvent()=0
[AnalysisAlgorithm_optional]
void SetInitializeTrees(bool ini)
Initialize trees at the beginning of each configuration.
ConfigurationManager * _confManager
Configuration Manager.
bool _setMethodCalled
Boolean parameter to know whether nny of the methods that sets things into used analysis has been cal...
void SetToyBox(const ToyBoxB *box, Int_t isel=0)
Set the current box into the algorithm and all used algorithms. This is useful when one Analysis uses...
Int_t _selectedSelection
The selected selection.
const ToyBoxB * _box[NMAXSELECTIONS]
The analysis box.
void SetEvent(AnaEventC *event)
Set the current event into the algorithm and all used algorithms.
OutputManager * _outputManager
Output Manager.
AnaEventC * _event
The current event.
HighlandInputManager * _inputManager
Input Manager: access to the current Event.
The maximum number of systematics that is supported.
void SetFillSuccessOnly(bool fill)
Fill trees and process weight systematics only when any of the branches is successful.
AnalysisAlgorithm(AnalysisAlgorithm *ana=NULL)
bool _fillSuccessOnly
Fill trees and process weight systematics only when any of the branches is succesful.
CorrectionManager * _corrManager
Correction Manager.
SystematicManager * _systManager
Systematics Manager.
void SetAnalysisPoint(enumAnalysisPoint point)
Set the point of the analysis at which AnalysisLoop is.
Int_t _min_accum_cut_level
the minimum accumulated cut level to save an event into the micro-tree
virtual void Finalize()
[AnalysisAlgorithm_optional]
EventWeightManager * _weightManager
EventWeight Manager.
std::vector< AnalysisAlgorithm * > _usedAnalyses
The Vector of used analysis.
void SetVersionCheck(bool check)
Set version checking.
bool CheckAccumLevelToSave()
Check if the condition is fulfilled for at least one branch.
void UseAnalysis(AnalysisAlgorithm *ana)
Used a given analysis.
Int_t GetMinAccumCutLevelToSave()
Get the minimum accumulated cut level to save an event into the micro-tree.
void FinalizeToyBase()
[AnalysisAlgorithm_mandatory]
bool _initializeTrees
Initialize trees at the beginning of each configuration.
virtual bool Initialize()=0
[AnalysisAlgorithm_mandatory]