AliAnalysisTaskSE("AliPhysicsSelectionTask"),
fOutput(0),
fOption(""),
+ fUseSpecialOutput(kFALSE),
fPhysicsSelection(0)
{
//
AliAnalysisTaskSE("AliPhysicsSelectionTask"),
fOutput(0),
fOption(opt),
+ fUseSpecialOutput(kFALSE),
fPhysicsSelection(new AliPhysicsSelection())
{
//
} else {
AliError("No input event handler connected to analysis manager. No Physics Event Selection.");
}
+ //
+ TString opts = opt;
+ opts.ToLower();
+ if (opts.Contains("specialoutput")) fUseSpecialOutput = kTRUE;
+
// Define input and output slots here
DefineOutput(1, TList::Class());
fBranchNames = "ESD:AliESDRun.,AliESDHeader.,AliMultiplicity.,AliESDVZERO.,"
Printf("AliPhysicsSelectionTask::CreateOutputObjects");
+ if (fUseSpecialOutput) OpenFile(1);
+
fOutput = new TList;
fOutput->SetOwner();
void SetPhysicsSelection(AliPhysicsSelection* physicsSelection) { fPhysicsSelection = physicsSelection; }
AliPhysicsSelection* GetPhysicsSelection() const { return fPhysicsSelection; }
+ void SetUseSpecialOutput(Bool_t v=kTRUE) {fUseSpecialOutput = v;}
+ Bool_t GetUseSpecialOutput() const { return fUseSpecialOutput; }
protected:
TList* fOutput; //! list send on output slot 1
TString fOption; // option string
-
+ Bool_t fUseSpecialOutput; // do we use special output instead of merging?
AliPhysicsSelection* fPhysicsSelection; // event selection class
private:
-AliPhysicsSelectionTask* AddTaskPhysicsSelection(Bool_t mCAnalysisFlag = kFALSE, Bool_t deprecatedFlag = kTRUE, UInt_t computeBG = 0)
+AliPhysicsSelectionTask* AddTaskPhysicsSelection(Bool_t mCAnalysisFlag = kFALSE, Bool_t deprecatedFlag = kTRUE, UInt_t computeBG = 0, Bool_t useSpecialOutput=kFALSE)
{
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
if (!mgr) {
// Configure analysis
//===========================================================================
- AliPhysicsSelectionTask *task = new AliPhysicsSelectionTask("");
-
+ AliPhysicsSelectionTask *task = new AliPhysicsSelectionTask();
+ task->SetUseSpecialOutput(useSpecialOutput); // RS: optionally use special output
// this makes physics selection to work using AliMultiInputEventHandler
if (inputHandler && (inputHandler->IsA() == AliMultiInputEventHandler::Class())) {
AliMultiInputEventHandler *multiInputHandler=(AliMultiInputEventHandler*)inputHandler;
TList::Class(),
AliAnalysisManager::kOutputContainer,
"EventStat_temp.root");
-
+ //
+ if (useSpecialOutput) coutput1->SetSpecialOutput(); // RS: optionally use special output
+ //
mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
mgr->ConnectOutput(task,1,coutput1);