]>
Commit | Line | Data |
---|---|---|
b53f2e4f | 1 | AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2(char* bRec = "jets",char* bGen = "jetsAODMC_UA104",UInt_t filterMask = 16, Int_t iPhysicsSelection = 1);\r |
599338e5 | 2 | \r |
3 | \r | |
e6993a52 | 4 | AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2Delta(UInt_t filterMask = 16,Bool_t kUseAODMC = kFALSE,Int_t iPhysicsSelection = 1,UInt_t iFlag){\r |
599338e5 | 5 | AliAnalysisTaskJetSpectrum2 *js = 0;\r |
6 | if(kUseAODMC){\r | |
e6993a52 | 7 | if(iFlag&(1<<0))js = AddTaskJetSpectrum2("jets","jetsAODMC_UA104",filterMask,iPhysicsSelection);\r |
8 | if(iFlag&(1<<1))js = AddTaskJetSpectrum2("jets","jetsAODMC2_UA104",filterMask,iPhysicsSelection);\r | |
599338e5 | 9 | \r |
e6993a52 | 10 | if(iFlag&(1<<2))js = AddTaskJetSpectrum2("jetsAOD_FASTJET04","jetsAODMC_FASTJET04",filterMask,iPhysicsSelection);\r |
11 | if(iFlag&(1<<3))js = AddTaskJetSpectrum2("jetsAOD_FASTJET04","jetsAODMC2_FASTJET04",filterMask,iPhysicsSelection);\r | |
599338e5 | 12 | \r |
565584e8 | 13 | if(iFlag&(1<<4)){\r |
14 | js = AddTaskJetSpectrum2("jetsAOD_FASTKT04","jetsAODMC_FASTKT04",filterMask,iPhysicsSelection);\r | |
15 | }\r | |
e6993a52 | 16 | if(iFlag&(1<<5))js = AddTaskJetSpectrum2("jetsAOD_FASTKT04","jetsAODMC2_FASTKT04",filterMask,iPhysicsSelection);\r |
e6993a52 | 17 | if(iFlag&(1<<6))js = AddTaskJetSpectrum2("jetsAOD_UA107","jetsAODMC_UA107",filterMask,iPhysicsSelection);\r |
18 | }\r | |
565584e8 | 19 | \r |
e6993a52 | 20 | if(iFlag&(1<<7))js = AddTaskJetSpectrum2("jets","jetsAOD_FASTJET04",filterMask,iPhysicsSelection);\r |
21 | if(iFlag&(1<<8))js = AddTaskJetSpectrum2("jetsAOD_FASTJET04","",filterMask,iPhysicsSelection);\r | |
22 | if(iFlag&(1<<9))js = AddTaskJetSpectrum2("jetsAOD_FASTKT04","",filterMask,iPhysicsSelection);\r | |
565584e8 | 23 | \r |
24 | \r | |
e6993a52 | 25 | if(iFlag&(1<<10)){\r |
26 | js = AddTaskJetSpectrum2("jetsAOD_UA107","",filterMask,iPhysicsSelection);\r | |
27 | js->SetRecEtaWindow(0.2);\r | |
599338e5 | 28 | }\r |
599338e5 | 29 | return js;\r |
30 | }\r | |
31 | \r | |
32 | \r | |
b53f2e4f | 33 | AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2(char* bRec,char* bGen ,UInt_t filterMask,Int_t iPhysicsSelection)\r |
3b7ffecf | 34 | {\r |
35 | // Creates a jet fider task, configures it and adds it to the analysis manager.\r | |
36 | \r | |
37 | // Get the pointer to the existing analysis manager via the static access method.\r | |
38 | //==============================================================================\r | |
39 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r | |
40 | if (!mgr) {\r | |
41 | ::Error("AddTaskJetSpectrum2", "No analysis manager to connect to.");\r | |
42 | return NULL;\r | |
43 | } \r | |
44 | \r | |
45 | // Check the analysis type using the event handlers connected to the analysis manager.\r | |
46 | //==============================================================================\r | |
47 | if (!mgr->GetInputEventHandler()) {\r | |
5010a3f7 | 48 | ::Error("AddTaskJetSpectrum2", "This task requires an input event handler");\r |
3b7ffecf | 49 | return NULL;\r |
50 | }\r | |
51 | \r | |
5010a3f7 | 52 | TString type = mgr->GetInputEventHandler()->GetDataType();\r |
565584e8 | 53 | TString typeRec(bRec);\r |
54 | TString typeGen(bGen);\r | |
55 | typeGen.ToUpper();\r | |
56 | typeRec.ToUpper();\r | |
3b7ffecf | 57 | // Create the task and configure it.\r |
58 | //===========================================================================\r | |
59 | \r | |
5010a3f7 | 60 | AliAnalysisTaskJetSpectrum2* pwg4spec = new AliAnalysisTaskJetSpectrum2(Form("Jet Spectrum %s %s",bRec,bGen));\r |
3b7ffecf | 61 | \r |
62 | // or a config file\r | |
3ae212a1 | 63 | // pwg4spec->SetAnalysisType(AliAnalysisTaskJetSpectrum2::kAnaMC);\r |
5010a3f7 | 64 | // if(iAODanalysis)pwg4spec->SetAODInput(kTRUE);\r |
3b7ffecf | 65 | // pwg4spec->SetDebugLevel(11); \r |
5010a3f7 | 66 | pwg4spec->SetBranchRec(bRec); \r |
67 | pwg4spec->SetBranchGen(bGen); \r | |
68 | pwg4spec->SetFilterMask(filterMask); \r | |
42f4e4b8 | 69 | // pwg4spec->SetUseGlobalSelection(kTRUE); \r |
3b7ffecf | 70 | \r |
5010a3f7 | 71 | if(type == "AOD"){\r |
565584e8 | 72 | // Assume all jet are produced already\r |
73 | pwg4spec->SetAODJetInput(kTRUE);\r | |
74 | pwg4spec->SetAODTrackInput(kTRUE);\r | |
75 | pwg4spec->SetAODMCInput(kTRUE);\r | |
76 | }\r | |
77 | \r | |
78 | if(typeRec.Contains("AODMC2b")){// work down from the top AODMC2b -> AODMC2 -> AODMC -> AOD\r | |
79 | pwg4spec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAODMCChargedAcceptance);\r | |
80 | }\r | |
81 | else if (typeRec.Contains("AODMC2")){\r | |
82 | pwg4spec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAODMCCharged);\r | |
83 | }\r | |
84 | else if (typeRec.Contains("AODMC")){\r | |
85 | pwg4spec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAODMCall);\r | |
86 | }\r | |
87 | else if (typeRec.Contains("AOD")) {\r | |
88 | pwg4spec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAOD);\r | |
5010a3f7 | 89 | }\r |
3b7ffecf | 90 | \r |
565584e8 | 91 | if(typeGen.Contains("AODMC2b")){// work down from the top AODMC2b -> AODMC2 -> AODMC -> AOD\r |
92 | pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODMCChargedAcceptance);\r | |
93 | }\r | |
94 | else if (typeGen.Contains("AODMC2")){\r | |
3ae212a1 | 95 | pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODMCCharged);\r |
96 | }\r | |
565584e8 | 97 | else if (typeGen.Contains("AODMC")){\r |
98 | pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODMCall);\r | |
3ae212a1 | 99 | }\r |
565584e8 | 100 | else if (typeGen.Contains("AOD")) {\r |
101 | pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAOD);\r | |
3ae212a1 | 102 | }\r |
565584e8 | 103 | \r |
104 | \r | |
105 | \r | |
106 | \r | |
107 | \r | |
b53f2e4f | 108 | if(iPhysicsSelection)pwg4spec->SelectCollisionCandidates();\r |
42f4e4b8 | 109 | \r |
5010a3f7 | 110 | mgr->AddTask(pwg4spec);\r |
111 | \r | |
3b7ffecf | 112 | // Create ONLY the output containers for the data produced by the task.\r |
113 | // Get and connect other common input/output containers via the manager as below\r | |
114 | //==============================================================================\r | |
599338e5 | 115 | AliAnalysisDataContainer *coutput1_Spec = mgr->CreateContainer(Form("pwg4spec2_%s_%s",bRec,bGen), TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:PWG4_spec2_%s_%s",AliAnalysisManager::GetCommonFileName(),bRec,bGen));\r |
3b7ffecf | 116 | \r |
117 | mgr->ConnectInput (pwg4spec, 0, mgr->GetCommonInputContainer());\r | |
118 | mgr->ConnectOutput (pwg4spec, 0, mgr->GetCommonOutputContainer());\r | |
119 | mgr->ConnectOutput (pwg4spec, 1, coutput1_Spec );\r | |
120 | \r | |
121 | return pwg4spec;\r | |
122 | }\r |