]>
Commit | Line | Data |
---|---|---|
b03b08a3 | 1 | AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2(const char* bRec = "jets",const 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 | |
b03b08a3 | 33 | AliAnalysisTaskJetSpectrum2 *AddTaskJetSpectrum2(const char* bRec,const 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 | |
3b7ffecf | 36 | // Get the pointer to the existing analysis manager via the static access method.\r |
37 | //==============================================================================\r | |
38 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r | |
39 | if (!mgr) {\r | |
40 | ::Error("AddTaskJetSpectrum2", "No analysis manager to connect to.");\r | |
41 | return NULL;\r | |
42 | } \r | |
43 | \r | |
44 | // Check the analysis type using the event handlers connected to the analysis manager.\r | |
45 | //==============================================================================\r | |
46 | if (!mgr->GetInputEventHandler()) {\r | |
5010a3f7 | 47 | ::Error("AddTaskJetSpectrum2", "This task requires an input event handler");\r |
3b7ffecf | 48 | return NULL;\r |
49 | }\r | |
50 | \r | |
5010a3f7 | 51 | TString type = mgr->GetInputEventHandler()->GetDataType();\r |
565584e8 | 52 | TString typeRec(bRec);\r |
53 | TString typeGen(bGen);\r | |
54 | typeGen.ToUpper();\r | |
55 | typeRec.ToUpper();\r | |
3b7ffecf | 56 | // Create the task and configure it.\r |
57 | //===========================================================================\r | |
58 | \r | |
4a6f59cb | 59 | AliAnalysisTaskJetSpectrum2* pwg4spec = new AliAnalysisTaskJetSpectrum2(Form("Jet Spectrum 2 %s %s",bRec,bGen));\r |
3b7ffecf | 60 | \r |
61 | // or a config file\r | |
3ae212a1 | 62 | // pwg4spec->SetAnalysisType(AliAnalysisTaskJetSpectrum2::kAnaMC);\r |
5010a3f7 | 63 | // if(iAODanalysis)pwg4spec->SetAODInput(kTRUE);\r |
3b7ffecf | 64 | // pwg4spec->SetDebugLevel(11); \r |
b03b08a3 | 65 | Printf("Rec %sXXX",bRec);\r |
66 | Printf("Gen %sXXX",bGen);\r | |
67 | \r | |
5010a3f7 | 68 | pwg4spec->SetBranchGen(bGen); \r |
b03b08a3 | 69 | pwg4spec->SetBranchRec(bRec); \r |
70 | \r | |
71 | \r | |
5010a3f7 | 72 | pwg4spec->SetFilterMask(filterMask); \r |
8ecc6719 | 73 | pwg4spec->SetUseGlobalSelection(kTRUE); \r |
3b7ffecf | 74 | \r |
5010a3f7 | 75 | if(type == "AOD"){\r |
565584e8 | 76 | // Assume all jet are produced already\r |
77 | pwg4spec->SetAODJetInput(kTRUE);\r | |
78 | pwg4spec->SetAODTrackInput(kTRUE);\r | |
79 | pwg4spec->SetAODMCInput(kTRUE);\r | |
80 | }\r | |
81 | \r | |
82 | if(typeRec.Contains("AODMC2b")){// work down from the top AODMC2b -> AODMC2 -> AODMC -> AOD\r | |
83 | pwg4spec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAODMCChargedAcceptance);\r | |
84 | }\r | |
85 | else if (typeRec.Contains("AODMC2")){\r | |
86 | pwg4spec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAODMCCharged);\r | |
87 | }\r | |
88 | else if (typeRec.Contains("AODMC")){\r | |
d2e6cdd5 | 89 | pwg4spec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAODMCAll);\r |
565584e8 | 90 | }\r |
d2e6cdd5 | 91 | else { // catch akk use AOD\r |
565584e8 | 92 | pwg4spec->SetTrackTypeRec(AliAnalysisTaskJetSpectrum2::kTrackAOD);\r |
5010a3f7 | 93 | }\r |
3b7ffecf | 94 | \r |
565584e8 | 95 | if(typeGen.Contains("AODMC2b")){// work down from the top AODMC2b -> AODMC2 -> AODMC -> AOD\r |
96 | pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODMCChargedAcceptance);\r | |
97 | }\r | |
98 | else if (typeGen.Contains("AODMC2")){\r | |
3ae212a1 | 99 | pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODMCCharged);\r |
100 | }\r | |
565584e8 | 101 | else if (typeGen.Contains("AODMC")){\r |
d2e6cdd5 | 102 | pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAODMCAll);\r |
3ae212a1 | 103 | }\r |
b03b08a3 | 104 | else if (typeGen.Length()>0){ // catch all use AOD\r |
565584e8 | 105 | pwg4spec->SetTrackTypeGen(AliAnalysisTaskJetSpectrum2::kTrackAOD);\r |
3ae212a1 | 106 | }\r |
565584e8 | 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 |