ROOT logo
#ifndef ALIANALYSISMUMUPARAMETERS_H
#define ALIANALYSISMUMUPARAMETERS_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

// $Id$

///
/// AliAnalysisMuMuConfig : helper class to store steering options
/// for the AliAnalysisMuMu and AliAnalysisMuMuEvolution classes
///
/// author : Laurent Aphecetche (Subatech)

#include "TObject.h"
#include "TString.h"

class TObjArray;

class AliAnalysisMuMuConfig : public TObject
{

public:
  
  enum EColor
  {
    kBlue=1500,
    kOrange=1501,
    kGreen=1502
  };
  
  enum ETypeList
  {
    kDimuonTriggerList=0, // list of dimuon triggers to consider
    kMuonTriggerList=1, // list of single muon triggers to consider
    kMinbiasTriggerList=2,   // list of minbias triggers to consider
    kEventSelectionList=3, // list of event types to consider
    kPairSelectionList=4, // list of pair cuts to consider
    kCentralitySelectionList=5, // list of centrality cuts to consider
    kFitTypeList=7 // list of fit types to perform    
  };
  
  AliAnalysisMuMuConfig(const char* beamYear="pPb2013");
  virtual ~AliAnalysisMuMuConfig();

  TObjArray* GetListElements(ETypeList type, Bool_t simulation) const;

  TString GetList(ETypeList type, Bool_t simulation) const;

  void SetList(ETypeList type, Bool_t simulation, const char* list);

//  TString AppendToList(ETypeList type, Bool_t simulation, const char* list);

  void SetColorScheme();
  
  void SetOCDBPath(const char* ocdbPath) { fOCDBPath = ocdbPath; }

  TString OCDBPath() const { return fOCDBPath; }
  
  void SetCompactGraphs(Bool_t value=kTRUE) { fIsCompactGraphs = value; }
  
  Bool_t CompactGraphs() { return fIsCompactGraphs; }
  
  void Print(Option_t* opt="") const;
  
  void DefineDefaults(const char* beamYear);
  
private:
  
  void ShowLists(const char* title, ETypeList type, const char separator=',', const TString& sopt="ALL") const;
  
  void ShowList(const char* title, const TString& list, const char separator=',') const;

private:

  TObjArray* fLists; // storage for lists
  
  TString fOCDBPath; // OCDB to be used (raw:// by default)
  Bool_t fIsCompactGraphs; // whether the graph produced should be compact

  ClassDef(AliAnalysisMuMuConfig,2) // class to hold configuration of AliAnalysisMuMu(Evolution) class
};

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