1 AliAnalysisTaskCaloFilter * AddTaskCaloFilter(const Bool_t bias = kTRUE,
2 const Float_t minE = 6,
3 const Float_t minN = 2,
4 const Float_t vz = 10.,
5 const Int_t opt = AliAnalysisTaskCaloFilter::kEMCAL, //kPHOS, kEMCAL or kBoth
6 const Bool_t correct = kFALSE,
7 const Bool_t fillTrack = kTRUE,
8 const Bool_t fillAOD = kTRUE)
11 // Get the pointer to the existing analysis manager via the static access method.
12 //==============================================================================
13 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
16 ::Error("AddTaskCaloFilter", "No analysis manager to connect to.");
20 // Check the analysis type using the event handlers connected to the analysis manager.
21 //==============================================================================
22 if (!mgr->GetInputEventHandler())
24 ::Error("AddTaskCaloFilter", "This task requires an input event handler");
28 AliAnalysisTaskCaloFilter * filter = new AliAnalysisTaskCaloFilter("CaloFilter");
30 filter->SetCaloFilter(opt); //kPHOS, kEMCAL or kBoth
34 if(bias) // select events with significant signal in EMCAL
36 filter->SetEnergyCut(minE);
37 filter->SetNcellsCut(minN);
39 filter->SelectCollisionCandidates(AliVEvent::kAny) ;
41 printf("--- Select events with 1 cluster with at least %2.2f GeV and N = %d ---\n",minE,minN);
43 else // Do not bias the signal in EMCAL, select MB events
45 filter->SetEnergyCut(0);
46 filter->SetNcellsCut(0);
48 filter->SelectCollisionCandidates(AliVEvent::kAnyINT | AliVEvent::kCentral | AliVEvent::kSemiCentral ) ;
50 printf("--- Select Min Bias events ---\n");
53 if(correct) filter->SwitchOnClusterCorrection();
54 else filter->SwitchOffClusterCorrection();
56 if(fillTrack) filter->SwitchOnFillTracks();
57 else filter->SwitchOffFillTracks();
59 if(fillAOD) filter->SwitchOnFillAODFile();
60 else filter->SwitchOffFillAODFile();
66 // Create containers for input/output
67 AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
68 AliAnalysisDataContainer *coutput1 = mgr->GetCommonOutputContainer();
70 mgr->ConnectInput (filter, 0, cinput1);
71 mgr->ConnectOutput (filter, 0, coutput1 );