ROOT logo
/*************************************************************************
* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
*                                                                        *
* Author: The ALICE Off-line Project.                                    *
* Contributors are mentioned in the code where appropriate.              *
*                                                                        *
* Permission to use, copy, modify and distribute this software and its   *
* documentation strictly for non-commercial purposes is hereby granted   *
* without fee, provided that the above copyright notice appears in all   *
* copies and that both the copyright notice and this permission notice   *
* appear in the supporting documentation. The authors make no claims     *
* about the suitability of this software for any purpose. It is          *
* provided "as is" without express or implied warranty.                  *
**************************************************************************/

////////////////////////////////////////////////////
// AliAnalysisTaskFilterFE:
//
// (re)tag RFP and POI in flowEvent in order to 
// reuse it in train
////////////////////////////////////////////////////

#include "AliAnalysisManager.h"
#include "AliAnalysisTaskSE.h"
#include "AliFlowEventSimple.h"
#include "AliFlowTrackSimpleCuts.h"
#include "AliAnalysisTaskFilterFE.h"
#include "AliLog.h"

ClassImp(AliAnalysisTaskFilterFE)

//________________________________________________________________________
AliAnalysisTaskFilterFE::AliAnalysisTaskFilterFE() :
  AliAnalysisTaskSE(),
  fCutsRFP(NULL),
  fCutsPOI(NULL),
  fMinA(-1.0),
  fMaxA(-0.01),
  fMinB(0.01),
  fMaxB(1.0),
  fFlowEvent(NULL)
{
  // Constructor
  AliDebug(2,"AliAnalysisTaskFilterFE::AliAnalysisTaskFilterFE()");
}

//________________________________________________________________________
AliAnalysisTaskFilterFE::AliAnalysisTaskFilterFE(const char *name, AliFlowTrackSimpleCuts *cutsRFP, AliFlowTrackSimpleCuts *cutsPOI) :
  AliAnalysisTaskSE(name),
  fCutsRFP(cutsRFP),
  fCutsPOI(cutsPOI),
  fMinA(-1.0),
  fMaxA(-0.01),
  fMinB(0.01),
  fMaxB(1.0),
  fFlowEvent(NULL)
{
  // Constructor
  AliDebug(2,"AliAnalysisTaskFilterFE::AliAnalysisTaskFilterFE(const char *name, ...)");
  DefineInput( 0, AliFlowEventSimple::Class());
  DefineOutput(1, AliFlowEventSimple::Class());
}

//________________________________________________________________________
AliAnalysisTaskFilterFE::~AliAnalysisTaskFilterFE()
{
  // Destructor
  delete fCutsRFP;
  delete fCutsPOI;
}
//________________________________________________________________________
void AliAnalysisTaskFilterFE::UserCreateOutputObjects()
{
  // Called at every worker node to initialize
  AliDebug(2,"AliAnalysisTaskFilterFE::CreateOutputObjects()");
  PostData(1,fFlowEvent);
}

//________________________________________________________________________
void AliAnalysisTaskFilterFE::UserExec(Option_t *)
{
  // Main loop
  fFlowEvent = dynamic_cast<AliFlowEventSimple*>(GetInputData(0)); // from TaskSE
  if (!fFlowEvent) return;
  if(fCutsRFP) fFlowEvent->TagRP(fCutsRFP);
  if(fCutsPOI) fFlowEvent->TagPOI(fCutsPOI);
  fFlowEvent->TagSubeventsInEta(fMinA,fMaxA,fMinB,fMaxB);
  PostData(1,fFlowEvent);
}
 AliAnalysisTaskFilterFE.cxx:1
 AliAnalysisTaskFilterFE.cxx:2
 AliAnalysisTaskFilterFE.cxx:3
 AliAnalysisTaskFilterFE.cxx:4
 AliAnalysisTaskFilterFE.cxx:5
 AliAnalysisTaskFilterFE.cxx:6
 AliAnalysisTaskFilterFE.cxx:7
 AliAnalysisTaskFilterFE.cxx:8
 AliAnalysisTaskFilterFE.cxx:9
 AliAnalysisTaskFilterFE.cxx:10
 AliAnalysisTaskFilterFE.cxx:11
 AliAnalysisTaskFilterFE.cxx:12
 AliAnalysisTaskFilterFE.cxx:13
 AliAnalysisTaskFilterFE.cxx:14
 AliAnalysisTaskFilterFE.cxx:15
 AliAnalysisTaskFilterFE.cxx:16
 AliAnalysisTaskFilterFE.cxx:17
 AliAnalysisTaskFilterFE.cxx:18
 AliAnalysisTaskFilterFE.cxx:19
 AliAnalysisTaskFilterFE.cxx:20
 AliAnalysisTaskFilterFE.cxx:21
 AliAnalysisTaskFilterFE.cxx:22
 AliAnalysisTaskFilterFE.cxx:23
 AliAnalysisTaskFilterFE.cxx:24
 AliAnalysisTaskFilterFE.cxx:25
 AliAnalysisTaskFilterFE.cxx:26
 AliAnalysisTaskFilterFE.cxx:27
 AliAnalysisTaskFilterFE.cxx:28
 AliAnalysisTaskFilterFE.cxx:29
 AliAnalysisTaskFilterFE.cxx:30
 AliAnalysisTaskFilterFE.cxx:31
 AliAnalysisTaskFilterFE.cxx:32
 AliAnalysisTaskFilterFE.cxx:33
 AliAnalysisTaskFilterFE.cxx:34
 AliAnalysisTaskFilterFE.cxx:35
 AliAnalysisTaskFilterFE.cxx:36
 AliAnalysisTaskFilterFE.cxx:37
 AliAnalysisTaskFilterFE.cxx:38
 AliAnalysisTaskFilterFE.cxx:39
 AliAnalysisTaskFilterFE.cxx:40
 AliAnalysisTaskFilterFE.cxx:41
 AliAnalysisTaskFilterFE.cxx:42
 AliAnalysisTaskFilterFE.cxx:43
 AliAnalysisTaskFilterFE.cxx:44
 AliAnalysisTaskFilterFE.cxx:45
 AliAnalysisTaskFilterFE.cxx:46
 AliAnalysisTaskFilterFE.cxx:47
 AliAnalysisTaskFilterFE.cxx:48
 AliAnalysisTaskFilterFE.cxx:49
 AliAnalysisTaskFilterFE.cxx:50
 AliAnalysisTaskFilterFE.cxx:51
 AliAnalysisTaskFilterFE.cxx:52
 AliAnalysisTaskFilterFE.cxx:53
 AliAnalysisTaskFilterFE.cxx:54
 AliAnalysisTaskFilterFE.cxx:55
 AliAnalysisTaskFilterFE.cxx:56
 AliAnalysisTaskFilterFE.cxx:57
 AliAnalysisTaskFilterFE.cxx:58
 AliAnalysisTaskFilterFE.cxx:59
 AliAnalysisTaskFilterFE.cxx:60
 AliAnalysisTaskFilterFE.cxx:61
 AliAnalysisTaskFilterFE.cxx:62
 AliAnalysisTaskFilterFE.cxx:63
 AliAnalysisTaskFilterFE.cxx:64
 AliAnalysisTaskFilterFE.cxx:65
 AliAnalysisTaskFilterFE.cxx:66
 AliAnalysisTaskFilterFE.cxx:67
 AliAnalysisTaskFilterFE.cxx:68
 AliAnalysisTaskFilterFE.cxx:69
 AliAnalysisTaskFilterFE.cxx:70
 AliAnalysisTaskFilterFE.cxx:71
 AliAnalysisTaskFilterFE.cxx:72
 AliAnalysisTaskFilterFE.cxx:73
 AliAnalysisTaskFilterFE.cxx:74
 AliAnalysisTaskFilterFE.cxx:75
 AliAnalysisTaskFilterFE.cxx:76
 AliAnalysisTaskFilterFE.cxx:77
 AliAnalysisTaskFilterFE.cxx:78
 AliAnalysisTaskFilterFE.cxx:79
 AliAnalysisTaskFilterFE.cxx:80
 AliAnalysisTaskFilterFE.cxx:81
 AliAnalysisTaskFilterFE.cxx:82
 AliAnalysisTaskFilterFE.cxx:83
 AliAnalysisTaskFilterFE.cxx:84
 AliAnalysisTaskFilterFE.cxx:85
 AliAnalysisTaskFilterFE.cxx:86
 AliAnalysisTaskFilterFE.cxx:87
 AliAnalysisTaskFilterFE.cxx:88
 AliAnalysisTaskFilterFE.cxx:89