11 #include <AliAnalysisManager.h> 12 #include <AliVEventHandler.h> 18 {
"kMB", AliVEvent::kMB},
19 {
"kINT1", AliVEvent::kINT1},
20 {
"kINT7", AliVEvent::kINT7},
21 {
"kMUON", AliVEvent::kMUON},
22 {
"kHighMult", AliVEvent::kHighMult},
23 {
"kHighMultSPD", AliVEvent::kHighMultSPD},
24 {
"kEMC1", AliVEvent::kEMC1},
25 {
"kCINT5", AliVEvent::kCINT5},
26 {
"kINT5", AliVEvent::kINT5},
27 {
"kCMUS5", AliVEvent::kCMUS5},
28 {
"kMUSPB", AliVEvent::kMUSPB},
29 {
"kINT7inMUON", AliVEvent::kINT7inMUON},
30 {
"kMuonSingleHighPt7", AliVEvent::kMuonSingleHighPt7},
31 {
"kMUSH7", AliVEvent::kMUSH7},
32 {
"kMUSHPB", AliVEvent::kMUSHPB},
33 {
"kMuonLikeLowPt7", AliVEvent::kMuonLikeLowPt7},
34 {
"kMUL7", AliVEvent::kMUL7},
35 {
"kMuonLikePB", AliVEvent::kMuonLikePB},
36 {
"kMuonUnlikeLowPt7", AliVEvent::kMuonUnlikeLowPt7},
37 {
"kMUU7", AliVEvent::kMUU7},
38 {
"kMuonUnlikePB", AliVEvent::kMuonUnlikePB},
39 {
"kEMC7", AliVEvent::kEMC7},
40 {
"kEMC8", AliVEvent::kEMC8},
41 {
"kMUS7", AliVEvent::kMUS7},
42 {
"kMuonSingleLowPt7", AliVEvent::kMuonSingleLowPt7},
43 {
"kPHI1", AliVEvent::kPHI1},
44 {
"kPHI7", AliVEvent::kPHI7},
45 {
"kPHI8", AliVEvent::kPHI8},
46 {
"kPHOSPb", AliVEvent::kPHOSPb},
47 {
"kEMCEJE", AliVEvent::kEMCEJE},
48 {
"kEMCEGA", AliVEvent::kEMCEGA},
49 {
"kHighMultV0", AliVEvent::kHighMultV0},
50 {
"kCentral", AliVEvent::kCentral},
51 {
"kSemiCentral", AliVEvent::kSemiCentral},
52 {
"kDG", AliVEvent::kDG},
53 {
"kDG5", AliVEvent::kDG5},
54 {
"kZED", AliVEvent::kZED},
55 {
"kSPI7", AliVEvent::kSPI7},
56 {
"kSPI", AliVEvent::kSPI},
57 {
"kINT8", AliVEvent::kINT8},
58 {
"kMuonSingleLowPt8", AliVEvent::kMuonSingleLowPt8},
59 {
"kMuonSingleHighPt8", AliVEvent::kMuonSingleHighPt8},
60 {
"kMuonLikeLowPt8", AliVEvent::kMuonLikeLowPt8},
61 {
"kMuonUnlikeLowPt8", AliVEvent::kMuonUnlikeLowPt8},
62 {
"kMuonUnlikeLowPt0", AliVEvent::kMuonUnlikeLowPt0},
63 {
"kUserDefined", AliVEvent::kUserDefined},
64 {
"kTRD", AliVEvent::kTRD},
65 {
"kMuonCalo", AliVEvent::kMuonCalo},
66 {
"kFastOnly", AliVEvent::kFastOnly},
67 {
"kAny", AliVEvent::kAny},
68 {
"kAnyINT", AliVEvent::kAnyINT}
79 UInt_t physicsSelection = 0;
80 for (
auto sel : selections) {
83 return physicsSelection;
102 ::Error(
"AddTaskEmcalSample",
"No analysis manager to connect to.");
108 AliVEventHandler* handler = mgr->GetInputEventHandler();
111 ::Error(
"AddTaskEmcalSample",
"This task requires an input event handler");
121 EDataType_t dataType = kUnknown;
123 if (handler->InheritsFrom(
"AliESDInputHandler")) {
126 else if (handler->InheritsFrom(
"AliAODInputHandler")) {
150 std::string returnValue =
"";
152 if (esdMode ==
true) {
153 if (returnObjectType ==
true) {
154 returnValue =
"AliESDCaloCluster";
157 returnValue =
"CaloClusters";
161 if (returnObjectType ==
true) {
162 returnValue =
"AliAODCaloCluster";
165 returnValue =
"caloClusters";
169 else if (objType ==
kTrack) {
170 if (esdMode ==
true) {
171 if (returnObjectType ==
true) {
172 returnValue =
"AliESDtrack";
175 returnValue =
"Tracks";
179 if (returnObjectType ==
true) {
180 returnValue =
"AliAODTrack";
183 returnValue =
"tracks";
188 if (esdMode ==
true) {
189 if (returnObjectType ==
true) {
190 returnValue =
"AliESDCaloCells";
193 returnValue =
"EMCALCells";
197 if (returnObjectType ==
true) {
198 returnValue =
"AliAODCaloCells";
201 returnValue =
"emcalCells";
208 AliWarningGeneralStream(
"AliEmcalContainerUtils") <<
"Unrecognized combination of inputs! Passed values of input object: " << objType <<
", esdMode: " << std::boolalpha << esdMode <<
", returnObjectType " << returnObjectType << std::endl;
226 const AliVEvent *
event =
nullptr;
229 if (!embedding)
return nullptr;
253 return const_cast<AliVEvent *
>(
GetEvent(const_cast<const AliVEvent *>(inputEvent), isEmbedding));
static const AliVEvent * GetEvent(const AliVEvent *inputEvent, bool isEmbedding=false)
Declaration of class AliAnalysisTaskEmcalEmbeddingHelper.
AliVEvent * GetExternalEvent() const
Retrieve the embedded event from the embedding helper.
static UInt_t DeterminePhysicsSelectionFromYAML(const std::vector< std::string > &selections)
InputObject_t
Type of input object to be created
Implementation of task to embed external events.
static const std::map< std::string, AliVEvent::EOfflineTriggerTypes > fgkPhysicsSelectionMap
Relates string to the physics selection enumeration for YAML configuration.
static std::string DetermineUseDefaultName(InputObject_t objType)
static const AliAnalysisTaskEmcalEmbeddingHelper * GetInstance()