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