Added ignores
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / trains / MakedNdetaTrain.C
1 /**
2  * @file   MakedNdetaTrain.C
3  * @author Christian Holm Christensen <cholm@master.hehi.nbi.dk>
4  * @date   Fri Jun  1 13:51:26 2012
5  * 
6  * @brief  
7  * 
8  * @ingroup pwglf_forward_trains_specific
9  * 
10  */
11
12 #include "TrainSetup.C"
13
14 //====================================================================
15 /**
16  * Analysis train to make @f$ dN/d\eta@f$
17  * 
18  *
19  * @ingroup pwglf_forward_dndeta
20  * @ingroup pwglf_forward_trains_specific
21  */
22 class MakedNdetaTrain : public TrainSetup
23 {
24 public:
25   /** 
26    * Constructor.  
27    * 
28    * @param name     Name of train (free form)
29    */
30   MakedNdetaTrain(const char* name)
31   : TrainSetup(name)
32   {
33     fOptions.Add("trig",     "TYPE", "Trigger type", "INEL");
34     fOptions.Add("vzMin",    "CENTIMETER", "Min Ip Z", "-10");
35     fOptions.Add("vzMax",    "CENTIMETER", "Max Ip Z", "+10");
36     fOptions.Add("scheme",   "SCHEME", "Normalization scheme", "");
37     fOptions.Add("trigEff",  "EFFICENCY", "Trigger effeciency", "1");
38     fOptions.Add("trigEff0", "EFFICENCY", "0-bin trigger effeciency", "1");
39     fOptions.Add("cent",     "Use centrality");
40     fOptions.Add("cut-edges", "Cut acceptance edges");
41   }
42 protected:
43   /** 
44    * Create the tasks 
45    * 
46    * @param par  Whether to use par files 
47    */
48   void CreateTasks(AliAnalysisManager*)
49   {
50     // --- Output file name ------------------------------------------
51     AliAnalysisManager::SetCommonFileName("forward_dndeta.root");
52
53     // --- Load libraries/pars ---------------------------------------
54     fHelper->LoadLibrary("PWGLFforward2");
55     
56     // --- Set load path ---------------------------------------------
57     gROOT->SetMacroPath(Form("%s:$(ALICE_ROOT)/PWGLF/FORWARD/analysis2",
58                              gROOT->GetMacroPath()));
59
60     // --- Get parameters --------------------------------------------
61     TString  trig   = fOptions.Get("trig");
62     TString  scheme = fOptions.Get("scheme");
63     Double_t vzMin  = fOptions.AsDouble("vzmin", -10);
64     Double_t vzMax  = fOptions.AsDouble("vzmax", +10);
65     Double_t effT   = fOptions.AsDouble("trigEff", 1);
66     Double_t effT0  = fOptions.AsDouble("trigEff0", 1);
67     Bool_t   cent   = fOptions.Has("cent");
68     Bool_t   edges  = fOptions.Has("cut-edges");
69
70     // --- Add the task ----------------------------------------------
71     gROOT->Macro(Form("AddTaskForwarddNdeta.C(\"%s\",%f,%f,%d,\"%s\",%d,%g,%g)",
72                       trig.Data(), vzMin, vzMax, cent, scheme.Data(),
73                       edges, effT, effT0));
74
75     gROOT->Macro(Form("AddTaskCentraldNdeta.C(\"%s\",%f,%f,%d,\"%s\",%d,%g,%g)",
76                       trig.Data(), vzMin, vzMax, cent, scheme.Data(),
77                       edges, effT, effT0));
78
79     gROOT->Macro(Form("AddTaskMCTruthdNdeta.C(\"%s\",%f,%f,%d,\"%s\",%d,%g,%g)",
80                       trig.Data(), vzMin, vzMax, cent, scheme.Data(),
81                       edges, effT, effT0));
82   }
83   //__________________________________________________________________
84   /** 
85    * Do not the centrality selection
86    */
87   void CreateCentralitySelection(Bool_t, AliAnalysisManager*) {}
88   //__________________________________________________________________
89   /** 
90    * Crete output handler - we don't want one here. 
91    * 
92    * @return 0
93    */
94   AliVEventHandler* CreateOutputHandler(UShort_t) { return 0; }
95   //__________________________________________________________________
96   const char* ClassName() const { return "MakedNdetaTrain"; }
97 };
98 //
99 // EOF
100 //