CbmRoot
Loading...
Searching...
No Matches
PairAnalysisCutQa.h
Go to the documentation of this file.
1/* Copyright (C) 2015-2020 Justus-Liebig-Universitaet Giessen, Giessen
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Julian Book [committer], Etienne Bechtel */
4
5#ifndef PAIRANALYSISCUTQA_H
6#define PAIRANALYSISCUTQA_H
7//#################################################################
8//# #
9//# Class PairAnalysisCutQa #
10//# PairAnalysis Group of cuts #
11//# #
12//# Authors: #
13//# Julian Book, Uni Ffm / Julian.Book@cern.ch #
14//# #
15//#################################################################
16
17#include <TH1I.h>
18#include <TH2I.h>
19#include <THashList.h>
20#include <TList.h>
21#include <TNamed.h>
22#include <TProfile2D.h>
23
24#include "AnalysisFilter.h"
25
26class TCollection;
27
28class PairAnalysisCutQa : public TNamed {
29
30public:
31 enum class ETypes
32 {
33 kEvent = 0,
34 kTrack,
35 kTrack2,
37 kPair,
40 };
41
43 PairAnalysisCutQa(const char* name, const char* title);
44
45 virtual ~PairAnalysisCutQa();
46
47 void Init();
48 void AddTrackFilterMC(AnalysisFilter* trkFilterMC);
49 void AddTrackFilter(AnalysisFilter* trkFilter);
50 void AddPrePairFilter(AnalysisFilter* pairFilter);
51 void AddTrackFilter2(AnalysisFilter* trkFilter2);
52 void AddPairFilter(AnalysisFilter* pairFilter);
53 void AddEventFilter(AnalysisFilter* eventFilter);
54
55 void Fill(UInt_t mask, TObject* obj, UInt_t addIdx = 0);
56 void FillAll(TObject* obj, UInt_t addIdx = 0); // { fCutQA->Fill(0); }
57
58 const THashList* GetQAHistList() const { return &fQAHistList; }
59
60
61private:
62 THashList fQAHistList; //-> list of QA histograms
63 static constexpr Int_t fNtypes = static_cast<Int_t>(ETypes::kNtypes);
64 Int_t fNCuts[fNtypes]; // number of cuts
65 const char* fCutNames[20][fNtypes]; // cut names
66 const char* fTypeKeys[fNtypes]; // type names
67
68
69 UInt_t GetObjIndex(TObject* obj); // return object index
70
73
74 ClassDef(PairAnalysisCutQa, 3) // Simple automatic cut QA
75};
76
77#endif
int Int_t
Int_t fNCuts[fNtypes]
PairAnalysisCutQa(const PairAnalysisCutQa &)
const THashList * GetQAHistList() const
void Fill(UInt_t mask, TObject *obj, UInt_t addIdx=0)
void AddTrackFilter2(AnalysisFilter *trkFilter2)
void AddTrackFilter(AnalysisFilter *trkFilter)
void AddPrePairFilter(AnalysisFilter *pairFilter)
const char * fCutNames[20][fNtypes]
void AddPairFilter(AnalysisFilter *pairFilter)
void AddEventFilter(AnalysisFilter *eventFilter)
const char * fTypeKeys[fNtypes]
UInt_t GetObjIndex(TObject *obj)
void FillAll(TObject *obj, UInt_t addIdx=0)
PairAnalysisCutQa & operator=(const PairAnalysisCutQa &)
static constexpr Int_t fNtypes
void AddTrackFilterMC(AnalysisFilter *trkFilterMC)