2 #include <AliAnalysisManager.h>//|
3 #include <AliMultiInputEventHandler.h>//|
4 #include <EventMixing/EventMixing/AliMixEventPool.h>//|
5 #include <EventMixing/EventMixing/AliMixEventCutObj.h>//|
6 #include <EventMixing/EventMixing/AliMixInputEventHandler.h>//|
7 #include <AliVEvent.h>//|
10 void AddMixingHandler(Double_t centMin = 70, Double_t centMax = 80, Double_t centStep = 2, Bool_t bAOD = kTRUE, Bool_t useMC = kFALSE, Bool_t usePhysSel = kTRUE, Bool_t bCentralTrigger = kFALSE, TString opts = "")
13 AliESDInputHandler *esdInputHandler = 0;
14 AliAODInputHandler *aodInputHandler = 0;
15 AliMCEventHandler *mcInputHandler = 0;
17 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
19 AliMultiInputEventHandler *multiInputHandler = new AliMultiInputEventHandler();
20 mgr->SetInputEventHandler(multiInputHandler);
23 esdInputHandler = new AliESDInputHandler();
24 multiInputHandler->AddInputEventHandler(esdInputHandler);
25 //centralityInputHandler = new AliCentralityInputHandler();
26 //multiInputHandler->AddInputEventHandler(centralityInputHandler);
28 mcInputHandler = new AliMCEventHandler();
29 multiInputHandler->AddInputEventHandler(mcInputHandler);
30 // Not reading track references
31 mchandler->SetReadTR(kFALSE);
34 aodInputHandler = new AliAODInputHandler();
35 multiInputHandler->AddInputEventHandler(aodInputHandler);
37 Printf("Error: Only ESD and AOD input format is supported !!!");
41 if (!multiInputHandler) return;
43 const Int_t bufferSize = 1;
44 const Int_t mixNum = 5;
45 AliMixInputEventHandler *mixHandler = new AliMixInputEventHandler(bufferSize, mixNum);
46 mixHandler->SetInputHandlerForMixing(dynamic_cast<AliMultiInputEventHandler*>(mgr->GetInputEventHandler()));
47 AliMixEventPool *evPool = new AliMixEventPool();
49 //AliMixEventCutObj *multi = new AliMixEventCutObj(AliMixEventCutObj::kMultiplicity, 2, 10002, 10000);
50 AliMixEventCutObj *zvertex = new AliMixEventCutObj(AliMixEventCutObj::kZVertex, -10, 10, 5);
52 AliMixEventCutObj *centrality = new AliMixEventCutObj(AliMixEventCutObj::kCentrality, centMin, centMax, centStep, "V0M");
54 evPool->AddCut(centrality);
55 //evPool->AddCut(multi);
56 evPool->AddCut(zvertex);
58 // adds event pool (comment it and u will have default mixing)
59 mixHandler->SetEventPool(evPool);
61 // only use events with physics selection
64 mixHandler->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kCentral | AliVEvent::kSemiCentral);
67 mixHandler->SelectCollisionCandidates(AliVEvent::kMB);
71 multiInputHandler->AddInputEventHandler(mixHandler);