]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/AliDielectronHFhelper.h
add proptections (marcel), add GEANT process for MC
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / AliDielectronHFhelper.h
CommitLineData
5e2cf960 1#ifndef ALIDIELECTRONHFHELPER_H
2#define ALIDIELECTRONHFHELPER_H
3/* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6//#############################################################
7//# #
c081415a 8//# Class AliDielectronHFhelper #
9//# Dielectron Histogram Framework helper #
5e2cf960 10//# #
11//# Authors: #
12//# Julian Book, Uni Ffm / Julian.Book@cern.ch #
13//# #
14//#############################################################
15
16
17
18#include <TNamed.h>
19#include <TVectorD.h>
20
21#include "AliDielectronVarManager.h"
22
23class AliDielectronHFhelper : public TNamed {
24public:
187de573 25 enum { kMaxCuts=20 };
26
5e2cf960 27 //AliDielectronHFhelper();
e0f6eeb2 28 AliDielectronHFhelper(const char* filename, const char* container);
187de573 29
5e2cf960 30 virtual ~AliDielectronHFhelper();
e0f6eeb2 31 void SetHFArray(const char* filename, const char* container);
5e2cf960 32
33 void SetRangeUser(const char *varname, Double_t min, Double_t max, Bool_t leg=kFALSE);
34 void SetRangeUser(AliDielectronVarManager::ValueTypes type, Double_t min, Double_t max, Bool_t leg=kFALSE);
4d7704c5 35 void UnsetRangeUser(const char* varname, Bool_t leg=kFALSE);
36 void UnsetRangeUser(AliDielectronVarManager::ValueTypes type, Bool_t leg=kFALSE);
443a091c 37
2d00c7d3 38 // getter functions
39 Int_t GetNSteps() const {return fMainArr->GetEntries(); }
40
c081415a 41 TObjArray* CollectHistos(AliDielectronVarManager::ValueTypes varx,
42 AliDielectronVarManager::ValueTypes vary=AliDielectronVarManager::kNMaxValues,
d4619886 43 AliDielectronVarManager::ValueTypes varz=AliDielectronVarManager::kNMaxValues,
44 AliDielectronVarManager::ValueTypes varw=AliDielectronVarManager::kNMaxValues)
45 { return CollectProfiles("hist",varx,vary,varz,varw); }
46 TObjArray* CollectHistos(TString option,
47 AliDielectronVarManager::ValueTypes varx,
48 AliDielectronVarManager::ValueTypes vary=AliDielectronVarManager::kNMaxValues,
49 AliDielectronVarManager::ValueTypes varz=AliDielectronVarManager::kNMaxValues,
50 AliDielectronVarManager::ValueTypes varw=AliDielectronVarManager::kNMaxValues)
51 { return CollectProfiles(Form("%s:hist",option.Data()),varx,vary,varz,varw); }
c081415a 52 TObjArray* CollectProfiles(TString option,
53 AliDielectronVarManager::ValueTypes varx,
54 AliDielectronVarManager::ValueTypes vary=AliDielectronVarManager::kNMaxValues,
55 AliDielectronVarManager::ValueTypes varz=AliDielectronVarManager::kNMaxValues,
56 AliDielectronVarManager::ValueTypes vart=AliDielectronVarManager::kNMaxValues);
187de573 57
6ed39778 58 TObjArray* FindObjects(TObjArray *histos);
59 TObjArray* Merge(TObjArray *arr);
5e2cf960 60
61 void CheckCuts(TObjArray *arr);
443a091c 62 virtual void Print(const Option_t* option ="") const ;
5e2cf960 63 void PrintCuts();
64
65private:
c081415a 66 TObjArray *fMainArr; // main array of pair types or sources
67 TObjArray *fCutVars; // array for cut variables
68 TVectorD fCutLowLimits; // vector to store the lower cut limits
69 TVectorD fCutUpLimits; // vector to store the upper cut limits
187de573 70
5e2cf960 71 AliDielectronHFhelper(const AliDielectronHFhelper &c);
72 AliDielectronHFhelper &operator=(const AliDielectronHFhelper &c);
187de573 73
c081415a 74 ClassDef(AliDielectronHFhelper,1) // HF helper class
5e2cf960 75};
76
77//
78// Inline functions
79//
80#endif
81