]>
Commit | Line | Data |
---|---|---|
fc392675 | 1 | AliAnalysisTaskEmcalJetHadEPpid* AddTaskEmcalJetHadEPpid( |
2 | const char *outfilename = "AnalysisOutput.root", | |
3 | const char *nJets = "Jets", | |
4 | const char *nTracks = "PicoTracks", | |
8ee2d316 | 5 | const char *nClusters = "CaloClustersCorr", |
6 | const char *nRho = "rhoCh", | |
fc392675 | 7 | const char *lrho = "lrho", |
8 | const Double_t minPhi = 1.8, | |
9 | const Double_t maxPhi = 2.74, | |
10 | const Double_t minEta = -0.3, | |
11 | const Double_t maxEta = 0.3, | |
12 | const Double_t minArea = 0.4, | |
13 | const Int_t EvtMix = 0, | |
14 | const Double_t TrkBias = 5, | |
15 | const Double_t ClusBias = 5, | |
8ee2d316 | 16 | const Double_t TrkEta = 0.9, |
17 | Bool_t PID = 0, //kFALSE, | |
18 | Bool_t PIDtrackBIAS = 0, //kFALSE, | |
19 | Bool_t varbinTHnSparse = 0, //kFALSE, | |
20 | Bool_t isAOD = 0, //kFALSE, | |
21 | Bool_t QAhistos = 0, //kFALSE, | |
22 | Bool_t BIAShistos = 0, //kFALSE, | |
23 | Bool_t extraCORRhistos = 0, //kFALSE, | |
24 | const Double_t JetPtcut = 15.0, | |
25 | const Double_t JetRadius = 0.4, | |
f1ce4cc3 | 26 | const Double_t constitCut = 0.15, |
8ee2d316 | 27 | const Int_t MixingTracks = 50000, |
f1ce4cc3 | 28 | TString cutType = "EMCAL", |
a8150e70 | 29 | Bool_t Comments = 0, |
30 | Int_t esdcuts = 10001006 | |
fc392675 | 31 | ) |
32 | { | |
33 | ||
34 | // Get the pointer to the existing analysis manager via the static access method. | |
35 | //============================================================================== | |
36 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
37 | if (!mgr) | |
38 | { | |
39 | ::Error("AddTaskEmcalJetHadEPpid", "No analysis manager to connect to."); | |
40 | return NULL; | |
41 | } | |
42 | ||
43 | // Check the analysis type using the event handlers connected to the analysis manager. | |
44 | //============================================================================== | |
45 | if (!mgr->GetInputEventHandler()) | |
46 | { | |
47 | ::Error("AddTaskEmcalJetHadEPpid", "This task requires an input event handler"); | |
48 | return NULL; | |
49 | } | |
50 | ||
51 | //------------------------------------------------------- | |
52 | // Init the task and do settings | |
53 | //------------------------------------------------------- | |
54 | ||
55 | TString name(Form("Correlations_%s", nJets)); | |
56 | AliAnalysisTaskEmcalJetHadEPpid *correlationtask = new AliAnalysisTaskEmcalJetHadEPpid(name); | |
57 | correlationtask->SetJetsName(nJets); | |
58 | correlationtask->SetTracksName(nTracks); | |
59 | correlationtask->SetRhoName(nRho); | |
60 | correlationtask->SetLocalRhoName(lrho); | |
61 | correlationtask->SetJetPhi(minPhi,maxPhi); | |
62 | correlationtask->SetJetEta(minEta,maxEta); | |
63 | correlationtask->SetAreaCut(minArea); | |
64 | correlationtask->SetEventMixing(EvtMix); | |
65 | correlationtask->SetTrkBias(TrkBias); | |
66 | correlationtask->SetClusBias(ClusBias); | |
67 | correlationtask->SetTrkEta(TrkEta); | |
8ee2d316 | 68 | // Added on/after March20, 2014 |
69 | correlationtask->SetdoPID(PID); | |
70 | correlationtask->SetdoPIDtrackBIAS(PIDtrackBIAS); | |
71 | correlationtask->SetvarbinTHnSparse(varbinTHnSparse); | |
72 | correlationtask->SetDataType(isAOD); | |
73 | correlationtask->SetmakeQAhistos(QAhistos); | |
74 | correlationtask->SetmakeBIAShistos(BIAShistos); | |
75 | correlationtask->SetmakeextraCORRhistos(extraCORRhistos); | |
76 | correlationtask->SetJetPtcut(JetPtcut); | |
77 | correlationtask->SetJetRad(JetRadius); | |
f1ce4cc3 | 78 | correlationtask->SetConstituentCut(constitCut); |
8ee2d316 | 79 | correlationtask->SetMixingTracks(MixingTracks); |
80 | correlationtask->SetcutType(cutType); | |
f1ce4cc3 | 81 | correlationtask->SetdoComments(Comments); |
8ee2d316 | 82 | |
83 | // =================== set up containers ================================================ | |
84 | // Cluster Container | |
85 | AliClusterContainer *clusCont = correlationtask->AddClusterContainer(nClusters); | |
86 | ||
87 | // Particle Container | |
88 | AliParticleContainer *partCont = correlationtask->AddParticleContainer(nTracks); | |
fc392675 | 89 | |
8ee2d316 | 90 | // Jet Containers |
91 | AliJetContainer *jetCont0 = correlationtask->AddJetContainer(nJets, cutType, JetRadius); | |
92 | AliJetContainer *jetCont1 = correlationtask->AddJetContainer(nJets, cutType, JetRadius); | |
93 | correlationtask->SetContainerAllJets(0); | |
94 | correlationtask->SetContainerPIDJets(1); | |
95 | ||
96 | // jet container cuts.. | |
97 | correlationtask->SetJetPtCut(JetPtcut, 1); | |
98 | correlationtask->SetPercAreaCut(0.6, 1); | |
99 | ||
a8150e70 | 100 | // =================================================================== |
101 | // ESD track quality cuts | |
102 | AliESDtrackCuts *esdTrackCuts = 0x0; | |
103 | gROOT->LoadMacro("$ALICE_ROOT/PWGJE/macros/CreateTrackCutsPWGJE.C"); | |
104 | esdTrackCuts = CreateTrackCutsPWGJE(esdcuts); | |
105 | ||
fc392675 | 106 | //------------------------------------------------------- |
107 | // Final settings, pass to manager and set the containers | |
108 | //------------------------------------------------------- | |
109 | mgr->AddTask(correlationtask); | |
110 | ||
111 | // Create containers for input/output | |
112 | mgr->ConnectInput (correlationtask, 0, mgr->GetCommonInputContainer() ); | |
113 | AliAnalysisDataContainer *cojeth = mgr->CreateContainer(name, | |
114 | TList::Class(), | |
115 | AliAnalysisManager::kOutputContainer, | |
116 | outfilename); | |
117 | ||
118 | mgr->ConnectOutput(correlationtask,1,cojeth); | |
119 | return correlationtask; | |
120 | } |