]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/TRD/AliTRDpwg1Helper.h
- Macro to create the "raw" data file with selected events
[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  = 2
18     ,kTracksSA      = 3
19     ,kTracksKink    = 4
20     ,kV0List        = 5
21     ,kMonitor       = 6
22     ,kNOutSlots     = 7
23   };
24
25   enum ETRDrecoTasks{
26     kCheckESD      = 0
27     ,kInfoGen       = 1
28     ,kCheckDET      = 2
29     ,kEfficiency    = 3
30     ,kResolution    = 4
31     ,kCheckPID      = 5
32     ,kV0Monitor     = 6
33     ,kCalibration   = 7
34     ,kEfficiencyMC  = 8
35     ,kAlignment     = 9
36     ,kPIDRefMaker   =10
37     ,kClErrParam    =11
38     ,kMultiplicity  =12
39   };
40
41   enum{
42     kNTRDQATASKS = 7,
43     kNTRDCALIBTASKS = 6,
44     kNTRDTASKS = kNTRDQATASKS + kNTRDCALIBTASKS
45   };
46
47   AliTRDpwg1Helper();
48   ~AliTRDpwg1Helper();
49
50   static Bool_t DoTask(Int_t idx, Int_t map);
51   static Int_t  GetTaskIndex(const Char_t *name);
52   static Bool_t HasReadMCData(Char_t *opt);
53   static Bool_t HasReadFriendData(Char_t *opt);
54   static const Char_t * TaskOpt(Int_t itask) {return fgkTRDtaskOpt[itask];}
55   static const Char_t * TaskClassName(Int_t itask) {return fgkTRDtaskClassName[itask];}
56
57   static const Char_t*  Basename(const char* filepath);
58   static const Char_t*  Dirname(const char* filepath);
59   static const Char_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);
60   static void   MergeProd(const Char_t *mark, const Char_t *files, const Int_t nBatch=20, Int_t level=0);
61   static Int_t  ParseOptions(Char_t *trd);
62
63 private:
64   AliTRDpwg1Helper(const AliTRDpwg1Helper& ref);
65   const AliTRDpwg1Helper& operator=(const AliTRDpwg1Helper& ref);
66   static const Char_t * fgkTRDtaskOpt[kNTRDTASKS + 1];  //! task options
67   static const Char_t * fgkTRDtaskClassName[kNTRDTASKS];//! task class name
68 };
69
70 #endif