]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/EMCALTasks/macros/AddTaskEMCALMesonGGSDM.C
b3c9de509fc763a2d7a7f9531518cfe6725324cd
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / macros / AddTaskEMCALMesonGGSDM.C
1 void AddTaskEMCALMesonGGSDM() 
2 {
3   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
4   if (!mgr) {
5     ::Error("AddTaskAliEMCALMesonGGSDM", "No analysis manager to connect to.");
6     return NULL;
7   }  
8
9   //#####################################################
10   // Private Recalibrator:
11      Int_t GoodTasks  [4] = {1, 0,0,0};
12      Int_t RecalScheme[4] = {9, 3,5,7};
13   //
14   // 0:  no recalibration! 
15   // 1:  constant scale factor.
16   // 2:  Symmetric Decay Method
17   // 3:  J's fit to LHC12f1a MC single photons, 4 Aug 2013
18   // 4:  J's fit to the test beam data, 4 Aug 2013
19   // 5:  Based on kSDM/kTBCv3 (for MC)
20   // 6:  kBeamTestCorrectedv2 - in AliROOT! 
21   // 7:  kPi0MCv3 - in AliROOT! 
22   // 8:  kSDMv5 - based on J's fit to the noNL MC/data and kPi0MCv5 - 28 Oct 2013 (call it kSDMv5)
23   // 9:  kPi0MCv5 - J's fit to LHC12f1a/b MC single photons, 28 Oct 2013 (call it kPi0MCv5)
24   // 10: kBTCv6 - J played with test beam data - 19 Nov 2013
25   // 11: kPi0MCv6 - J played with test beam mc - 19 Nov 2013
26   //
27   //#####################################################  
28
29   //#####################################################  
30   // MC Generator Types: 
31   //
32      char MyMCType[50] = "";
33   // doesn't work yet... set below!!!!!! 
34   //
35   // for all Primary particles, assign "ANY"
36   // 
37   // lhc13e7: 
38   //         hijing_0
39   //         pi0_1    - flat pT, number varies with centrality
40   //         eta_2    - flat pT, number varies with centrality
41   //         pi0EMC_3 - flat pT, 1 pi0 into EMCal
42   //         pi0PHS_4 - flat pT, 1 pi0 into PHOS
43   //         etaEMC_5 - flat pT, 1 eta into EMCal
44   //         etaPHS_6 - flat pT, 1 eta into PHOS 
45   //
46   // lhc12i3: 
47   //         Pythia
48   //         BOX      - flat pT, 10 pi0 into 2pi
49   //         BOX      - flat pT, 10 eta into 2pi
50   //         PARAM    - flat pT, 1 pi0 into EMCal
51   //         PARAM    - flat pT, 1 pi0 into PHOS 
52   //         PARAM    - flat pT, 1 eta into EMCal
53   //         PARAM    - flat pT, 1 eta into PHOS 
54   //
55   // dangerous... right now, it will only take the first BOX that it finds. 
56   //
57   //#####################################################  
58
59   AliAnalysisTaskEMCALMesonGGSDM* task[4];
60   AliAnalysisDataContainer*  coutput[4];  
61   char saythis[500];
62
63   for(int i=0; i<4; i++){
64     if(GoodTasks[i]==0)
65       continue;
66     
67     sprintf(saythis,"EMCALMesonGGSDM_%d",i);
68     task[i] = new AliAnalysisTaskEMCALMesonGGSDM(saythis);
69     task[i]->SelectCollisionCandidates(AliVEvent::kMB);//LHC11a
70     //task[i]->SelectCollisionCandidates(AliVEvent::kINT7);//LHC13b/c, LHC11c?
71     //task[i]->SelectCollisionCandidates(AliVEvent::kAnyINT);
72     task[i]->SetRecalScheme(RecalScheme[i]);
73
74     task[i]->SetdRmin_ClustTrack(0.025);//not used at the moment! (Gustavo uses 0.04)
75     task[i]->SetFidPhiMinMax(1.39626, 3.15);// from: emc->GetArm1PhiMin()*TMath::DegToRad()=1.39626
76     //task[i]->SetFidPhiMinMax(1.39626, 2.10); //pPb no TRD
77     //task[i]->SetFidPhiMinMax(2.10, 3.15); //pPb with TRD
78     task[i]->SetFidEtaMinMax(-0.65, 0.65);
79
80     //task[i]->SetMyMCType(**MyMCType);
81     //task[i]->SetMyMCType("hijing_0");
82     task[i]->SetMyMCType("Pythia");
83     
84     mgr->AddTask(task[i]);
85     sprintf(saythis,"cont_AliAnalysisTaskEMCALMesonGGSDM_%d",RecalScheme[i]);
86     coutput[i] = 
87       mgr->CreateContainer(saythis,
88                            TList::Class(),
89                            AliAnalysisManager::kOutputContainer,
90                            "EMCALMesonGGSDM.root");
91     mgr->ConnectInput (task[i],0,mgr->GetCommonInputContainer());
92     mgr->ConnectOutput(task[i],1,coutput[i]);
93         
94     //AliMCEventHandler* handler = new AliMCEventHandler;
95     //handler->SetReadTR(kFALSE);
96     //mgr->SetMCtruthEventHandler(handler);
97   }
98   
99 }