]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/TRD/AliTRDpwg1Helper.h
Updates in D+ histos and ntuples (Renu, Francesco, Elena)
[u/mrichter/AliRoot.git] / PWG1 / TRD / AliTRDpwg1Helper.h
1 #ifndef ALITRDPWG1HELPER_H
2 #define ALITRDPWG1HELPER_H
3
4 ////////////////////////////////////////////////////////////////////////////
5 //                                                                        //
6 //  Helper class for PWG1 TRD train                                       //
7 //                                                                        //
8 //  Authors:                                                              //
9 //    Markus Fasel <M.Fasel@gsi.de>                                       //
10 //                                                                        //
11 ////////////////////////////////////////////////////////////////////////////
12
13 class AliTRDpwg1Helper{
14 public:
15   enum ETRDinfoGenOutSlots {
16     kEventInfo     = 1
17     ,kTracksBarrel
18     ,kTracksSA
19     ,kTracksKink
20     ,kV0List
21     ,kClusters
22     ,kMonitor
23     ,kNOutSlots
24   };
25
26   enum ETRDrecoTasks{
27     kCheckESD = 0
28     ,kInfoGen
29     ,kCheckDET
30     ,kEfficiency
31     ,kResolution
32     ,kCheckPID
33     ,kV0Monitor
34     ,kCheckTRK
35     ,kCalibration
36     ,kEfficiencyMC
37     ,kAlignment
38     ,kPIDRefMaker
39     ,kClErrParam
40     ,kMultiplicity
41   };
42
43   enum{
44     kNTRDQATASKS = 8,
45     kNTRDCALIBTASKS = 6,
46     kNTRDTASKS = kNTRDQATASKS + kNTRDCALIBTASKS
47   };
48
49   AliTRDpwg1Helper();
50   ~AliTRDpwg1Helper();
51
52   static Bool_t DoTask(Int_t idx, Int_t map);
53   static Int_t  GetTaskIndex(const Char_t *name);
54   static Bool_t HasReadMCData(const Char_t *opt);
55   static Bool_t HasReadFriendData(const Char_t *opt);
56   static const Char_t * TaskOpt(Int_t itask) {return fgkTRDtaskOpt[itask];}
57   static const Char_t * TaskClassName(Int_t itask) {return fgkTRDtaskClassName[itask];}
58
59   static const Char_t*  Basename(const char* filepath);
60   static const Char_t*  Dirname(const char* filepath);
61   static Int_t  MergeBatch(const Char_t *mark, const Char_t *files, const Int_t nfiles=20, const Int_t first=0, Bool_t kSVN=kTRUE, Bool_t kCLEAR=kFALSE);
62   static void   MergeProd(const Char_t *mark, const Char_t *files, const Int_t nBatch=20, Int_t level=0);
63   static Int_t  ParseOptions(const Char_t *trd);
64
65 private:
66   AliTRDpwg1Helper(const AliTRDpwg1Helper& ref);
67   const AliTRDpwg1Helper& operator=(const AliTRDpwg1Helper& ref);
68   static const Char_t * fgkTRDtaskOpt[kNTRDTASKS + 1];  //! task options
69   static const Char_t * fgkTRDtaskClassName[kNTRDTASKS];//! task class name
70 };
71
72 #endif