]>
Commit | Line | Data |
---|---|---|
3095177c | 1 | AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2(const char* bRec = "jets",const char* bGen = "jetsAODMC_UA104",const char* nonStdFile="",UInt_t filterMask = 32, Int_t iPhysicsSelectionFlag = AliVEvent::kMB,UInt_t iEventSelectionMask = 0,Int_t iCl = 0);\r |
6bd3fdae | 2 | \r |
3 | \r | |
37eb26ea | 4 | AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2Delta(UInt_t filterMask = 32,Bool_t kUseAODMC = kFALSE,Int_t iPhysicsSelectionFlag = AliVEvent::kMB,UInt_t iFlag = 0xfffffff, UInt_t iEventSelectionMask = 0,char* back = ""){\r |
599338e5 | 5 | \r |
f4132e7d | 6 | TString cBack = back;\r |
599338e5 | 7 | \r |
599338e5 | 8 | AliAnalysisTaskJetSpectrum2 *js = 0;\r |
c2785065 | 9 | if(kUseAODMC){\r |
6bd3fdae | 10 | if(iFlag&(1<<0)){ // UA104\r |
37eb26ea | 11 | js = AddTaskJetSpectrum2("jets","jetsAODMC_UA104",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r |
12 | js = AddTaskJetSpectrum2("jets","jetsAODMC2_UA104",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r | |
6bd3fdae | 13 | }\r |
14 | if(iFlag&(1<<1)){ // ANTIKT 04\r | |
37eb26ea | 15 | js = AddTaskJetSpectrum2("jetsAOD_FASTJET04","jetsAODMC_FASTJET04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r |
16 | js = AddTaskJetSpectrum2("jetsAOD_FASTJET04","jetsAODMC2_FASTJET04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r | |
6bd3fdae | 17 | // cross check MC only background subtration\r |
37eb26ea | 18 | js = AddTaskJetSpectrum2("jetsAODMC2_FASTJET04","jetsAODMC_FASTJET04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r |
6bd3fdae | 19 | }\r |
20 | if(iFlag&(1<<2)){ // KT 04\r | |
37eb26ea | 21 | js = AddTaskJetSpectrum2("jetsAOD_FASTKT04","jetsAODMC_FASTKT04",cBack.Data(),filterMask,iPhysicsSelectionFlag,iEventSelectionMask);\r |
22 | js = AddTaskJetSpectrum2("jetsAOD_FASTKT04","jetsAODMC2_FASTKT04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r | |
6bd3fdae | 23 | }\r |
24 | if(iFlag&(1<<3)){ // SISCONE 04\r | |
37eb26ea | 25 | js = AddTaskJetSpectrum2("jetsAOD_SISCONE04","jetsAODMC_SISCONE04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r |
26 | js = AddTaskJetSpectrum2("jetsAOD_SISCONE04","jetsAODMC2_SISCONE04",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r | |
6bd3fdae | 27 | }\r |
28 | // here can go other radii\r | |
29 | }\r | |
30 | else { // only the data ... no MC\r | |
31 | if(iFlag&(1<<0)){ // UA104\r | |
37eb26ea | 32 | js = AddTaskJetSpectrum2("jets","",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask,1);\r |
6bd3fdae | 33 | }\r |
34 | if(iFlag&(1<<1)){ // ANTIKT 04\r | |
37eb26ea | 35 | js = AddTaskJetSpectrum2("jetsAOD_FASTJET04","",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r |
6bd3fdae | 36 | }\r |
37 | if(iFlag&(1<<2)){ // KT 04\r | |
37eb26ea | 38 | js = AddTaskJetSpectrum2("jetsAOD_FASTKT04","",cBack.Data(),filterMask,iPhysicsSelectionFlag,iEventSelectionMask);\r |
6bd3fdae | 39 | }\r |
40 | if(iFlag&(1<<3)){ // SISCONE 04\r | |
37eb26ea | 41 | js = AddTaskJetSpectrum2("jetsAOD_SISCONE04","",cBack.Data(),filterMask,iPhysicsSelectionFlag, iEventSelectionMask);\r |
c2785065 | 42 | }\r |
92bbb45d | 43 | }\r |
599338e5 | 44 | return js;\r |
45 | }\r | |
46 | \r | |
47 | \r | |
3095177c | 48 | AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2(const char* bRec,const char* bGen ,const char* nonStdFile,UInt_t filterMask,Int_t iPhysicsSelectionFlag,UInt_t iEventSelectionMask,Int_t iCl)\r |
3b7ffecf | 49 | {\r |
f4132e7d | 50 | // Creates a jet fider task, configures it and adds it to the analysis manager.\r |
51 | // Get the pointer to the existing analysis manager via the static access method.\r | |
52 | //==============================================================================\r | |
53 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r | |
54 | if (!mgr) {\r | |
55 | ::Error("AddTaskJetSpectrum2", "No analysis manager to connect to.");\r | |
56 | return NULL;\r | |
3b7ffecf | 57 | } \r |
f4132e7d | 58 | \r |
59 | // Check the analysis type using the event handlers connected to the analysis manager.\r | |
60 | //==============================================================================\r | |
61 | if (!mgr->GetInputEventHandler()) {\r | |
62 | ::Error("AddTaskJetSpectrum2", "This task requires an input event handler");\r | |
63 | return NULL;\r | |
64 | }\r | |
65 | \r | |
66 | TString type = mgr->GetInputEventHandler()->GetDataType();\r | |
67 | TString typeRec(bRec);\r | |
68 | TString typeGen(bGen);\r | |
69 | typeGen.ToUpper();\r | |
70 | typeRec.ToUpper();\r | |
71 | \r | |
6bd3fdae | 72 | \r |
3b7ffecf | 73 | // Create the task and configure it.\r |
74 | //===========================================================================\r | |
6bd3fdae | 75 | \r |
f4132e7d | 76 | AliAnalysisTaskJetSpectrum2* pwg4spec = new AliAnalysisTaskJetSpectrum2(Form("JetSpectrum2%s-%s_%010d_Class%02d",bRec,bGen,iEventSelectionMask,iCl));\r |
f4132e7d | 77 | if(iCl)pwg4spec->SetEventClass(iCl);\r |
39e7e8ab | 78 | \r |
79 | // add the filter mask for non default jets branches\r | |
80 | TString cAdd("");\r | |
81 | cAdd += Form("_Filter%05d",filterMask);\r | |
82 | \r | |
a31b8a87 | 83 | \r |
37eb26ea | 84 | \r |
85 | pwg4spec->SetBranchGen(bGen); \r | |
86 | // if(typeGen.Contains("JETSAOD")&&!typeGen.Contains("MC"))pwg4spec->SetBranchGen(Form("%s%s",bGen,cAdd.Data())); \r | |
87 | \r | |
b03b08a3 | 88 | pwg4spec->SetBranchRec(bRec); \r |
a31b8a87 | 89 | // if(typeRec.Contains("JETSAOD")&&!typeRec.Contains("MC")) pwg4spec->SetBranchRec(Form("%s%s",bRec,cAdd.Data())); \r |
6bd3fdae | 90 | \r |
b03b08a3 | 91 | \r |
5010a3f7 | 92 | pwg4spec->SetFilterMask(filterMask); \r |
8ecc6719 | 93 | pwg4spec->SetUseGlobalSelection(kTRUE); \r |
82ebd295 | 94 | pwg4spec->SetMinJetPt(5.);\r |
a31b8a87 | 95 | pwg4spec->SetJetEtaWindow(0.4);\r |
8ecf60e0 | 96 | \r |
3170a3f8 | 97 | Float_t fDQxy[2] = {-0.398,-0.379};\r |
98 | pwg4spec->SetDeltaQxy(fDQxy);\r | |
99 | \r | |
100 | \r | |
101 | \r | |
102 | \r | |
5010a3f7 | 103 | if(type == "AOD"){\r |
565584e8 | 104 | // Assume all jet are produced already\r |
105 | pwg4spec->SetAODJetInput(kTRUE);\r | |
106 | pwg4spec->SetAODTrackInput(kTRUE);\r | |
107 | pwg4spec->SetAODMCInput(kTRUE);\r | |
108 | }\r | |
c2785065 | 109 | else{\r |
110 | if(mgr->GetMCtruthEventHandler()){\r | |
111 | pwg4spec-> SetAnalysisType(AliAnalysisTaskJetSpectrum2::kAnaMCESD);\r | |
112 | }\r | |
113 | }\r | |
565584e8 | 114 | \r |
115 | if(typeRec.Contains("AODMC2b")){// work down from the top AODMC2b -> AODMC2 -> AODMC -> AOD\r | |
116 | pwg4spec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAODMCChargedAcceptance);\r | |
117 | }\r | |
118 | else if (typeRec.Contains("AODMC2")){\r | |
119 | pwg4spec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAODMCCharged);\r | |
120 | }\r | |
121 | else if (typeRec.Contains("AODMC")){\r | |
d2e6cdd5 | 122 | pwg4spec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAODMCAll);\r |
565584e8 | 123 | }\r |
d2e6cdd5 | 124 | else { // catch akk use AOD\r |
565584e8 | 125 | pwg4spec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAOD);\r |
5010a3f7 | 126 | }\r |
3b7ffecf | 127 | \r |
565584e8 | 128 | if(typeGen.Contains("AODMC2b")){// work down from the top AODMC2b -> AODMC2 -> AODMC -> AOD\r |
129 | pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODMCChargedAcceptance);\r | |
130 | }\r | |
131 | else if (typeGen.Contains("AODMC2")){\r | |
3ae212a1 | 132 | pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODMCCharged);\r |
133 | }\r | |
565584e8 | 134 | else if (typeGen.Contains("AODMC")){\r |
d2e6cdd5 | 135 | pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODMCAll);\r |
3ae212a1 | 136 | }\r |
b03b08a3 | 137 | else if (typeGen.Length()>0){ // catch all use AOD\r |
565584e8 | 138 | pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAOD);\r |
3ae212a1 | 139 | }\r |
565584e8 | 140 | \r |
39e7e8ab | 141 | if(iPhysicsSelectionFlag)pwg4spec->SelectCollisionCandidates(iPhysicsSelectionFlag);\r |
f2dd0695 | 142 | if(iEventSelectionMask)pwg4spec->SetEventSelectionMask(iEventSelectionMask);\r |
42f4e4b8 | 143 | \r |
39e7e8ab | 144 | // pwg4spec->SetDebugLevel(10);\r |
145 | \r | |
3095177c | 146 | \r |
147 | // to fetch the AOD from the AOD extension ouput \r | |
148 | if(strlen(nonStdFile))pwg4spec->SetNonStdFile(nonStdFile);\r | |
5010a3f7 | 149 | mgr->AddTask(pwg4spec);\r |
150 | \r | |
3b7ffecf | 151 | // Create ONLY the output containers for the data produced by the task.\r |
152 | // Get and connect other common input/output containers via the manager as below\r | |
153 | //==============================================================================\r | |
f4132e7d | 154 | AliAnalysisDataContainer *coutput1_Spec = mgr->CreateContainer(Form("pwg4spec2_%s_%s_%010d_Class%02d",bRec,bGen,iEventSelectionMask,iCl),TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:PWG4_spec2_%s_%s_%010d_Class%02d",AliAnalysisManager::GetCommonFileName(),bRec,bGen,iEventSelectionMask,iCl));\r |
3b7ffecf | 155 | \r |
156 | mgr->ConnectInput (pwg4spec, 0, mgr->GetCommonInputContainer());\r | |
157 | mgr->ConnectOutput (pwg4spec, 0, mgr->GetCommonOutputContainer());\r | |
158 | mgr->ConnectOutput (pwg4spec, 1, coutput1_Spec );\r | |
159 | \r | |
160 | return pwg4spec;\r | |
161 | }\r | |
d8f21f85 | 162 | \r |
163 | void SetAODInput(AliAnalysisTaskJetSpectrum2 *taskJetSpectrum){\r | |
164 | taskJetSpectrum->SetAODJetInput(kTRUE);\r | |
165 | taskJetSpectrum->SetAODTrackInput(kTRUE);\r | |
166 | // taskJetSpectrum->SetUseGlobalSelection(kFALSE);\r | |
167 | }\r |