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