// $Id$
AliEmcalEsdTrackFilterTask* AddTaskEmcalEsdTrackFilter(
const char *name = "TrackFilter",
const char *trackCuts = "Hybrid_LHC11h",
const char *taskName = "AliEmcalEsdTrackFilterTask"
)
{
enum CutsType {
kHybrid = 0,
kTpcOnly = 1
};
enum DataSet {
kLHC10h = 0,
kLHC11a = 1,
kLHC11c = 3,
kLHC11d = 3,
kLHC11h = 3
};
CutsType cutsType = kHybrid;
DataSet dataSet = kLHC11h;
TString cutsLabel("hybrid tracks");
TString dataSetLabel("LHC11h");
TString strTrackCuts(trackCuts);
strTrackCuts.ToLower();
if (strTrackCuts.Contains("hybrid")) {
cutsType = kHybrid;
} else if (strTrackCuts.Contains("tpconly")) {
cutsType = kTpcOnly;
cutsLabel = "TPC only constrained tracks";
} else {
::Warning("AddTaskEmcalEsdTpcTrack", "Cuts type not recognized, will assume Hybrid");
}
if (strTrackCuts.Contains("lhc10h")) {
dataSet = kLHC10h;
} else if (strTrackCuts.Contains("lhc11a") || strTrackCuts.Contains("lhc12a15a")) {
dataSet = kLHC11a;
dataSetLabel = "LHC11a";
} else if (strTrackCuts.Contains("lhc10e") || strTrackCuts.Contains("lhc10d") ||
strTrackCuts.Contains("lhc10e20") || strTrackCuts.Contains("lhc10f6a") ||
strTrackCuts.Contains("lhc11a1a") || strTrackCuts.Contains("lhc11a1b") ||
strTrackCuts.Contains("lhc11a1c") || strTrackCuts.Contains("lhc11a1d") ||
strTrackCuts.Contains("lhc11a1e") || strTrackCuts.Contains("lhc11a1f") ||
strTrackCuts.Contains("lhc11a1g") || strTrackCuts.Contains("lhc11a1h") ||
strTrackCuts.Contains("lhc11a1i") || strTrackCuts.Contains("lhc11a1j")) {
dataSet = kLHC11a;
dataSetLabel = "LHC10e";
} else if (strTrackCuts.Contains("lhc11c")) {
dataSet = kLHC11c;
dataSetLabel = "LHC11c";
} else if (strTrackCuts.Contains("lhc11d")) {
dataSet = kLHC11d;
dataSetLabel = "LHC11d";
} else if (strTrackCuts.Contains("lhc11h") || strTrackCuts.Contains("lhc12a15e")) {
dataSet = kLHC11h;
dataSetLabel = "LHC11h";
} else if (strTrackCuts.Contains("lhc12g")) {
dataSet = kLHC11h;
dataSetLabel = "LHC12g";
} else if (strTrackCuts.Contains("lhc12")) {
dataSet = kLHC11h;
dataSetLabel = "LHC12";
} else if (strTrackCuts.Contains("lhc13b")) {
dataSet = kLHC11h;
dataSetLabel = "LHC13b";
} else if (strTrackCuts.Contains("lhc13c")) {
dataSet = kLHC11h;
dataSetLabel = "LHC13c";
} else if (strTrackCuts.Contains("lhc13d")) {
dataSet = kLHC11h;
dataSetLabel = "LHC13d";
} else if (strTrackCuts.Contains("lhc13e")) {
dataSet = kLHC11h;
dataSetLabel = "LHC13e";
} else if (strTrackCuts.Contains("lhc13f")) {
dataSet = kLHC11h;
dataSetLabel = "LHC13f";
} else if (strTrackCuts.Contains("lhc13g")) {
dataSet = kLHC11h;
dataSetLabel = "LHC13g";
} else if (strTrackCuts.Contains("lhc12a15f")) {
dataSet = kLHC11h;
dataSetLabel = "LHC12a15f";
} else if (strTrackCuts.Contains("lhc13b4")) {
dataSet = kLHC11h;
dataSetLabel = "LHC13b4";
} else if (strTrackCuts.Contains("lhc12a15g")) {
dataSet = kLHC11d;
dataSetLabel = "LHC12a15g";
} else if (strTrackCuts.Contains("lhc12f2a")) {
dataSet = kLHC11d;
dataSetLabel = "LHC12f2a";
} else if (strTrackCuts.Contains("lhc12a17")) {
dataSet = kLHC11h;
dataSetLabel = "LHC12a17";
} else if (strTrackCuts.Contains("lhc14a1")) {
dataSet = kLHC11h;
dataSetLabel = "LHC14a1";
} else {
::Warning("AddTaskEmcalEsdTpcTrack", "Dataset not recognized, will assume LHC11h");
}
// Get the pointer to the existing analysis manager via the static access method.
//==============================================================================
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
::Error("AddTaskEmcalEsdTpcTrack", "No analysis manager to connect to.");
return NULL;
}
// Check the analysis type using the event handlers connected to the analysis manager.
//==============================================================================
AliVEventHandler *evhand = mgr->GetInputEventHandler();
if (!evhand) {
::Error("AddTaskEmcalEsdTpcTrack", "This task requires an input event handler");
return NULL;
}
if (!evhand->InheritsFrom("AliESDInputHandler")) {
::Info("AddTaskEmcalEsdTpcTrack", "This task is only needed for ESD analysis. No task added.");
return NULL;
}
//-------------------------------------------------------
// Init the task and do settings
//-------------------------------------------------------
gROOT->LoadMacro("$ALICE_ROOT/PWGJE/macros/CreateTrackCutsPWGJE.C");
AliEmcalEsdTrackFilterTask *eTask = new AliEmcalEsdTrackFilterTask(taskName); // default is no cut
if ((dataSet == kLHC11c && cutsType == kHybrid) ||
(dataSet == kLHC11d && cutsType == kHybrid) ||
(dataSet == kLHC11h && cutsType == kHybrid)) {
/* hybrid track cuts*/
AliESDtrackCuts *cutsp = CreateTrackCutsPWGJE(10001008); //1000 adds SPD any requirement
eTask->SetTrackCuts(cutsp);
AliESDtrackCuts *hybsp = CreateTrackCutsPWGJE(10041008); //1004 removes ITSrefit requirement from standard set
hybsp->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kOff);
eTask->SetHybridTrackCuts(hybsp);
eTask->SetIncludeNoITS(kFALSE);
} else if ((dataSet == kLHC10h && cutsType == kHybrid) ||
(dataSet == kLHC11a && cutsType == kHybrid)) {
/* hybrid track cuts*/
AliESDtrackCuts *cutsp = CreateTrackCutsPWGJE(10001006); //1000 adds SPD any requirement
eTask->SetTrackCuts(cutsp);
AliESDtrackCuts *hybsp = CreateTrackCutsPWGJE(10041006); //1004 removes ITSrefit requirement from standard set
hybsp->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kOff);
eTask->SetHybridTrackCuts(hybsp);
eTask->SetIncludeNoITS(kTRUE);
}
else if (dataSet == kLHC11h && cutsType == kTpcOnly) {
/* TPC-only constrained track cuts*/
AliESDtrackCuts *cutsp = CreateTrackCutsPWGJE(2001); //TPC-only loose track cuts
eTask->SetTrackCuts(cutsp);
eTask->SetHybridTrackCuts(0);
}
else {
::Error("AddTaskEmcalEsdTrackFilter","Track cuts type / period not recognized! Undefined beahviour will follow!");
}
eTask->SetTracksName(name);
cout << " *** Track selector task configured to select " << cutsLabel << " in dataset "<< dataSetLabel << " *** " << endl;
//-------------------------------------------------------
// Final settings, pass to manager and set the containers
//-------------------------------------------------------
mgr->AddTask(eTask);
// Create containers for input/output
AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
mgr->ConnectInput(eTask, 0, cinput1);
return eTask;
}
AddTaskEmcalEsdTrackFilter.C:1 AddTaskEmcalEsdTrackFilter.C:2 AddTaskEmcalEsdTrackFilter.C:3 AddTaskEmcalEsdTrackFilter.C:4 AddTaskEmcalEsdTrackFilter.C:5 AddTaskEmcalEsdTrackFilter.C:6 AddTaskEmcalEsdTrackFilter.C:7 AddTaskEmcalEsdTrackFilter.C:8 AddTaskEmcalEsdTrackFilter.C:9 AddTaskEmcalEsdTrackFilter.C:10 AddTaskEmcalEsdTrackFilter.C:11 AddTaskEmcalEsdTrackFilter.C:12 AddTaskEmcalEsdTrackFilter.C:13 AddTaskEmcalEsdTrackFilter.C:14 AddTaskEmcalEsdTrackFilter.C:15 AddTaskEmcalEsdTrackFilter.C:16 AddTaskEmcalEsdTrackFilter.C:17 AddTaskEmcalEsdTrackFilter.C:18 AddTaskEmcalEsdTrackFilter.C:19 AddTaskEmcalEsdTrackFilter.C:20 AddTaskEmcalEsdTrackFilter.C:21 AddTaskEmcalEsdTrackFilter.C:22 AddTaskEmcalEsdTrackFilter.C:23 AddTaskEmcalEsdTrackFilter.C:24 AddTaskEmcalEsdTrackFilter.C:25 AddTaskEmcalEsdTrackFilter.C:26 AddTaskEmcalEsdTrackFilter.C:27 AddTaskEmcalEsdTrackFilter.C:28 AddTaskEmcalEsdTrackFilter.C:29 AddTaskEmcalEsdTrackFilter.C:30 AddTaskEmcalEsdTrackFilter.C:31 AddTaskEmcalEsdTrackFilter.C:32 AddTaskEmcalEsdTrackFilter.C:33 AddTaskEmcalEsdTrackFilter.C:34 AddTaskEmcalEsdTrackFilter.C:35 AddTaskEmcalEsdTrackFilter.C:36 AddTaskEmcalEsdTrackFilter.C:37 AddTaskEmcalEsdTrackFilter.C:38 AddTaskEmcalEsdTrackFilter.C:39 AddTaskEmcalEsdTrackFilter.C:40 AddTaskEmcalEsdTrackFilter.C:41 AddTaskEmcalEsdTrackFilter.C:42 AddTaskEmcalEsdTrackFilter.C:43 AddTaskEmcalEsdTrackFilter.C:44 AddTaskEmcalEsdTrackFilter.C:45 AddTaskEmcalEsdTrackFilter.C:46 AddTaskEmcalEsdTrackFilter.C:47 AddTaskEmcalEsdTrackFilter.C:48 AddTaskEmcalEsdTrackFilter.C:49 AddTaskEmcalEsdTrackFilter.C:50 AddTaskEmcalEsdTrackFilter.C:51 AddTaskEmcalEsdTrackFilter.C:52 AddTaskEmcalEsdTrackFilter.C:53 AddTaskEmcalEsdTrackFilter.C:54 AddTaskEmcalEsdTrackFilter.C:55 AddTaskEmcalEsdTrackFilter.C:56 AddTaskEmcalEsdTrackFilter.C:57 AddTaskEmcalEsdTrackFilter.C:58 AddTaskEmcalEsdTrackFilter.C:59 AddTaskEmcalEsdTrackFilter.C:60 AddTaskEmcalEsdTrackFilter.C:61 AddTaskEmcalEsdTrackFilter.C:62 AddTaskEmcalEsdTrackFilter.C:63 AddTaskEmcalEsdTrackFilter.C:64 AddTaskEmcalEsdTrackFilter.C:65 AddTaskEmcalEsdTrackFilter.C:66 AddTaskEmcalEsdTrackFilter.C:67 AddTaskEmcalEsdTrackFilter.C:68 AddTaskEmcalEsdTrackFilter.C:69 AddTaskEmcalEsdTrackFilter.C:70 AddTaskEmcalEsdTrackFilter.C:71 AddTaskEmcalEsdTrackFilter.C:72 AddTaskEmcalEsdTrackFilter.C:73 AddTaskEmcalEsdTrackFilter.C:74 AddTaskEmcalEsdTrackFilter.C:75 AddTaskEmcalEsdTrackFilter.C:76 AddTaskEmcalEsdTrackFilter.C:77 AddTaskEmcalEsdTrackFilter.C:78 AddTaskEmcalEsdTrackFilter.C:79 AddTaskEmcalEsdTrackFilter.C:80 AddTaskEmcalEsdTrackFilter.C:81 AddTaskEmcalEsdTrackFilter.C:82 AddTaskEmcalEsdTrackFilter.C:83 AddTaskEmcalEsdTrackFilter.C:84 AddTaskEmcalEsdTrackFilter.C:85 AddTaskEmcalEsdTrackFilter.C:86 AddTaskEmcalEsdTrackFilter.C:87 AddTaskEmcalEsdTrackFilter.C:88 AddTaskEmcalEsdTrackFilter.C:89 AddTaskEmcalEsdTrackFilter.C:90 AddTaskEmcalEsdTrackFilter.C:91 AddTaskEmcalEsdTrackFilter.C:92 AddTaskEmcalEsdTrackFilter.C:93 AddTaskEmcalEsdTrackFilter.C:94 AddTaskEmcalEsdTrackFilter.C:95 AddTaskEmcalEsdTrackFilter.C:96 AddTaskEmcalEsdTrackFilter.C:97 AddTaskEmcalEsdTrackFilter.C:98 AddTaskEmcalEsdTrackFilter.C:99 AddTaskEmcalEsdTrackFilter.C:100 AddTaskEmcalEsdTrackFilter.C:101 AddTaskEmcalEsdTrackFilter.C:102 AddTaskEmcalEsdTrackFilter.C:103 AddTaskEmcalEsdTrackFilter.C:104 AddTaskEmcalEsdTrackFilter.C:105 AddTaskEmcalEsdTrackFilter.C:106 AddTaskEmcalEsdTrackFilter.C:107 AddTaskEmcalEsdTrackFilter.C:108 AddTaskEmcalEsdTrackFilter.C:109 AddTaskEmcalEsdTrackFilter.C:110 AddTaskEmcalEsdTrackFilter.C:111 AddTaskEmcalEsdTrackFilter.C:112 AddTaskEmcalEsdTrackFilter.C:113 AddTaskEmcalEsdTrackFilter.C:114 AddTaskEmcalEsdTrackFilter.C:115 AddTaskEmcalEsdTrackFilter.C:116 AddTaskEmcalEsdTrackFilter.C:117 AddTaskEmcalEsdTrackFilter.C:118 AddTaskEmcalEsdTrackFilter.C:119 AddTaskEmcalEsdTrackFilter.C:120 AddTaskEmcalEsdTrackFilter.C:121 AddTaskEmcalEsdTrackFilter.C:122 AddTaskEmcalEsdTrackFilter.C:123 AddTaskEmcalEsdTrackFilter.C:124 AddTaskEmcalEsdTrackFilter.C:125 AddTaskEmcalEsdTrackFilter.C:126 AddTaskEmcalEsdTrackFilter.C:127 AddTaskEmcalEsdTrackFilter.C:128 AddTaskEmcalEsdTrackFilter.C:129 AddTaskEmcalEsdTrackFilter.C:130 AddTaskEmcalEsdTrackFilter.C:131 AddTaskEmcalEsdTrackFilter.C:132 AddTaskEmcalEsdTrackFilter.C:133 AddTaskEmcalEsdTrackFilter.C:134 AddTaskEmcalEsdTrackFilter.C:135 AddTaskEmcalEsdTrackFilter.C:136 AddTaskEmcalEsdTrackFilter.C:137 AddTaskEmcalEsdTrackFilter.C:138 AddTaskEmcalEsdTrackFilter.C:139 AddTaskEmcalEsdTrackFilter.C:140 AddTaskEmcalEsdTrackFilter.C:141 AddTaskEmcalEsdTrackFilter.C:142 AddTaskEmcalEsdTrackFilter.C:143 AddTaskEmcalEsdTrackFilter.C:144 AddTaskEmcalEsdTrackFilter.C:145 AddTaskEmcalEsdTrackFilter.C:146 AddTaskEmcalEsdTrackFilter.C:147 AddTaskEmcalEsdTrackFilter.C:148 AddTaskEmcalEsdTrackFilter.C:149 AddTaskEmcalEsdTrackFilter.C:150 AddTaskEmcalEsdTrackFilter.C:151 AddTaskEmcalEsdTrackFilter.C:152 AddTaskEmcalEsdTrackFilter.C:153 AddTaskEmcalEsdTrackFilter.C:154 AddTaskEmcalEsdTrackFilter.C:155 AddTaskEmcalEsdTrackFilter.C:156 AddTaskEmcalEsdTrackFilter.C:157 AddTaskEmcalEsdTrackFilter.C:158 AddTaskEmcalEsdTrackFilter.C:159 AddTaskEmcalEsdTrackFilter.C:160 AddTaskEmcalEsdTrackFilter.C:161 AddTaskEmcalEsdTrackFilter.C:162 AddTaskEmcalEsdTrackFilter.C:163 AddTaskEmcalEsdTrackFilter.C:164 AddTaskEmcalEsdTrackFilter.C:165 AddTaskEmcalEsdTrackFilter.C:166 AddTaskEmcalEsdTrackFilter.C:167 AddTaskEmcalEsdTrackFilter.C:168 AddTaskEmcalEsdTrackFilter.C:169 AddTaskEmcalEsdTrackFilter.C:170 AddTaskEmcalEsdTrackFilter.C:171 AddTaskEmcalEsdTrackFilter.C:172 AddTaskEmcalEsdTrackFilter.C:173 AddTaskEmcalEsdTrackFilter.C:174 AddTaskEmcalEsdTrackFilter.C:175 AddTaskEmcalEsdTrackFilter.C:176 AddTaskEmcalEsdTrackFilter.C:177 AddTaskEmcalEsdTrackFilter.C:178 AddTaskEmcalEsdTrackFilter.C:179 AddTaskEmcalEsdTrackFilter.C:180