]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/EMCALJetTasks/macros/AddTaskAliAnalysisTaskFullppJet.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGJE / EMCALJetTasks / macros / AddTaskAliAnalysisTaskFullppJet.C
1 AliAnalysisTaskFullppJet *AddTaskAliAnalysisTaskFullppJet(const char *name = "Baseline",
2                                                            const char *period = "lhc11a",
3                                                            const Bool_t isMC = kFALSE,
4                                                            const Bool_t IsPhySelForMC = kFALSE,
5                                                            const Bool_t offlineTrig = kFALSE,
6                                                            const Double_t minTrkPt = 0.15,
7                                                            const Double_t minClsEt = 0.30,
8                                                            const Bool_t hc = kTRUE,
9                                                            const Double_t fraction = 1)
10 {
11   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
12   if(!mgr)
13     {
14       AliError("No analysise manager is availabe !");
15       return NULL;
16     }
17
18   gROOT->LoadMacro("$ALICE_ROOT/PWGJE/macros/CreateTrackCutsPWGJE.C");
19   AliESDtrackCuts *esdTrackCuts = 0x0;
20   AliESDtrackCuts *hybridTrackCuts1 = 0x0;
21   AliESDtrackCuts *hybridTrackCuts2 = 0x0;
22   printf("\n===== Use Hybrid track cuts =====\n");
23   esdTrackCuts = CreateTrackCutsPWGJE(10001006);
24   hybridTrackCuts1 = CreateTrackCutsPWGJE(1006);
25   hybridTrackCuts2 = CreateTrackCutsPWGJE(10041006);
26
27   AliAnalysisTaskFullppJet *jetTask = new AliAnalysisTaskFullppJet(Form("ppJet_%s_%s",period,name));
28   jetTask->SetNonStdBranch(name);
29   jetTask->SetRunPeriod(period);
30   jetTask->SetAnaType(1);
31   jetTask->SetCheckTriggerMask(kFALSE);
32   jetTask->SetMCAna(isMC);
33   jetTask->SetPhySelForMC(IsPhySelForMC);
34   jetTask->SetRejectSPDPileup(kTRUE);
35   jetTask->SetZvtx(10);
36   jetTask->SetTrackCutsType(AliAnalysisTaskFullppJet::kHybrid);      
37   jetTask->SetEsdTrackCuts(esdTrackCuts);
38   jetTask->SetHybridTrackCuts1(hybridTrackCuts1);
39   jetTask->SetHybridTrackCuts2(hybridTrackCuts2);
40   jetTask->SetOfflineTrigger(offlineTrig);
41   jetTask->SetEtaMax(1);
42   jetTask->SetdEdxRange(75,95);
43   jetTask->SetEoverPRange(0.8,1.2);
44   jetTask->SetPtRange(minTrkPt,1e4,minTrkPt,1e4);
45   jetTask->SetEtRange(minClsEt,1e4,minClsEt,1e4);
46   jetTask->SetRejectExoticCluster(kTRUE);
47   jetTask->SetRemoveProblematicSM4(kTRUE);  
48   jetTask->SetStudySubEInHC(kFALSE);
49   jetTask->SetJetNEFCut(0.02,0.98);
50   jetTask->SetRejectElectron(hc);
51   jetTask->SetCorrectHadron(hc);
52   jetTask->SetHCFraction(fraction);
53   jetTask->SetRadius("0.4 0.2 0.3");
54   jetTask->SetCheckTrkEffCorr(kFALSE);
55
56   mgr->AddTask(jetTask);
57   TString outfileName = "ppJetOutput.root";
58   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(Form("JetOutputList_%s",name), TList::Class(), AliAnalysisManager::kOutputContainer,outfileName.Data());
59   mgr->ConnectInput(jetTask,0,mgr->GetCommonInputContainer());
60   mgr->ConnectOutput(jetTask, 1, coutput1);
61
62   return jetTask;
63 }