ROOT logo
#ifndef ALITRDPWGPPHELPER_H
#define ALITRDPWGPPHELPER_H

////////////////////////////////////////////////////////////////////////////
//                                                                        //
//  Helper class for PWGPP TRD train                                       //
//                                                                        //
//  Authors:                                                              //
//    Markus Fasel <M.Fasel@gsi.de>                                       //
//                                                                        //
////////////////////////////////////////////////////////////////////////////

class AliTRDpwgppHelper{
public:
  enum ETRDinfoGenOutSlots {
    kEventInfo     = 1
    ,kTracksBarrel
    ,kTracksITS
    ,kTracksSA
    ,kTracksKink
    ,kV0List
    ,kClusters
    ,kMonitor
    ,kNOutSlots
  };

  enum ETRDrecoTasks{
    kCheckESD = 0
    ,kInfoGen
    ,kCheckDET
    ,kEfficiency
    ,kResolution
    ,kCheckPID
    ,kV0Monitor
    ,kCheckTRK
    ,kCalibration
    ,kEfficiencyMC
    ,kAlignment
    ,kPIDRefMaker
    ,kClErrParam
    ,kMultiplicity
  };

  enum{
    kNTRDQATASKS = 8,
    kNTRDCALIBTASKS = 6,
    kNTRDTASKS = kNTRDQATASKS + kNTRDCALIBTASKS
  };

  AliTRDpwgppHelper();
  ~AliTRDpwgppHelper();

  static Bool_t DoTask(Int_t idx, Int_t map);
  static Int_t  GetTaskIndex(const Char_t *name);
  static Bool_t HasReadMCData(const Char_t *opt);
  static Bool_t HasReadFriendData(const Char_t *opt);
  static const Char_t * TaskOpt(Int_t itask) {return fgkTRDtaskOpt[itask];}
  static const Char_t * TaskClassName(Int_t itask) {return fgkTRDtaskClassName[itask];}

  static const Char_t*  Basename(const char* filepath);
  static const Char_t*  Dirname(const char* filepath);
  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);
  static void   MergeProd(const Char_t *mark, const Char_t *files, const Int_t nBatch=20, Int_t level=0);
  static Int_t  ParseOptions(const Char_t *trd);

private:
  AliTRDpwgppHelper(const AliTRDpwgppHelper& ref);
  const AliTRDpwgppHelper& operator=(const AliTRDpwgppHelper& ref);
  static const Char_t * fgkTRDtaskOpt[kNTRDTASKS + 1];  //! task options
  static const Char_t * fgkTRDtaskClassName[kNTRDTASKS];//! task class name
};

#endif
 AliTRDpwgppHelper.h:1
 AliTRDpwgppHelper.h:2
 AliTRDpwgppHelper.h:3
 AliTRDpwgppHelper.h:4
 AliTRDpwgppHelper.h:5
 AliTRDpwgppHelper.h:6
 AliTRDpwgppHelper.h:7
 AliTRDpwgppHelper.h:8
 AliTRDpwgppHelper.h:9
 AliTRDpwgppHelper.h:10
 AliTRDpwgppHelper.h:11
 AliTRDpwgppHelper.h:12
 AliTRDpwgppHelper.h:13
 AliTRDpwgppHelper.h:14
 AliTRDpwgppHelper.h:15
 AliTRDpwgppHelper.h:16
 AliTRDpwgppHelper.h:17
 AliTRDpwgppHelper.h:18
 AliTRDpwgppHelper.h:19
 AliTRDpwgppHelper.h:20
 AliTRDpwgppHelper.h:21
 AliTRDpwgppHelper.h:22
 AliTRDpwgppHelper.h:23
 AliTRDpwgppHelper.h:24
 AliTRDpwgppHelper.h:25
 AliTRDpwgppHelper.h:26
 AliTRDpwgppHelper.h:27
 AliTRDpwgppHelper.h:28
 AliTRDpwgppHelper.h:29
 AliTRDpwgppHelper.h:30
 AliTRDpwgppHelper.h:31
 AliTRDpwgppHelper.h:32
 AliTRDpwgppHelper.h:33
 AliTRDpwgppHelper.h:34
 AliTRDpwgppHelper.h:35
 AliTRDpwgppHelper.h:36
 AliTRDpwgppHelper.h:37
 AliTRDpwgppHelper.h:38
 AliTRDpwgppHelper.h:39
 AliTRDpwgppHelper.h:40
 AliTRDpwgppHelper.h:41
 AliTRDpwgppHelper.h:42
 AliTRDpwgppHelper.h:43
 AliTRDpwgppHelper.h:44
 AliTRDpwgppHelper.h:45
 AliTRDpwgppHelper.h:46
 AliTRDpwgppHelper.h:47
 AliTRDpwgppHelper.h:48
 AliTRDpwgppHelper.h:49
 AliTRDpwgppHelper.h:50
 AliTRDpwgppHelper.h:51
 AliTRDpwgppHelper.h:52
 AliTRDpwgppHelper.h:53
 AliTRDpwgppHelper.h:54
 AliTRDpwgppHelper.h:55
 AliTRDpwgppHelper.h:56
 AliTRDpwgppHelper.h:57
 AliTRDpwgppHelper.h:58
 AliTRDpwgppHelper.h:59
 AliTRDpwgppHelper.h:60
 AliTRDpwgppHelper.h:61
 AliTRDpwgppHelper.h:62
 AliTRDpwgppHelper.h:63
 AliTRDpwgppHelper.h:64
 AliTRDpwgppHelper.h:65
 AliTRDpwgppHelper.h:66
 AliTRDpwgppHelper.h:67
 AliTRDpwgppHelper.h:68
 AliTRDpwgppHelper.h:69
 AliTRDpwgppHelper.h:70
 AliTRDpwgppHelper.h:71
 AliTRDpwgppHelper.h:72
 AliTRDpwgppHelper.h:73