]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/EMCALTasks/AliAnalysisTaskESDfilterEMCALEventSelect.cxx
modified ranges for Phi exclusion cuts in order to be able to go accross 2Pi
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / AliAnalysisTaskESDfilterEMCALEventSelect.cxx
CommitLineData
e3990982 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16//////////////////////////////////////////////////////////
17// Calls derived from AliAnalysisTaskESDfilter
18// Filter the ESD Events to AODs, only those events with
19// some signal in EMCAL, righ now at least a
20// cluster of high energy
21//
22// Author: Gustavo Conesa Balbastre (LPSC - Grenoble)
cd231d42 23//
24// $Id$
25//
e3990982 26//////////////////////////////////////////////////////////
27
28#include "AliESDCaloCluster.h"
29
30#include "AliAnalysisTaskESDfilterEMCALEventSelect.h"
31
32ClassImp(AliAnalysisTaskESDfilterEMCALEventSelect)
33
34//____________________________________________________________________________________
35AliAnalysisTaskESDfilterEMCALEventSelect::AliAnalysisTaskESDfilterEMCALEventSelect() :
36AliAnalysisTaskESDfilter("ESD Filte : EMCAL selected events"),
37fEnergyCut(10), fNcellsCut (2),
38fRecoUtils(0x0),
39fGeometry(0), fGeoName("EMCAL_COMPLETE12SMV1")
40{
41 // Default constructor
42
43 fRecoUtils = new AliEMCALRecoUtils;
44
45}
46
47//____________________________________________________________________________________________________
48AliAnalysisTaskESDfilterEMCALEventSelect::AliAnalysisTaskESDfilterEMCALEventSelect(const char *name) :
49AliAnalysisTaskESDfilter(name),
50fEnergyCut(10), fNcellsCut (2),
51fRecoUtils(0x0),
52fGeometry(0), fGeoName("EMCAL_COMPLETE12SMV1")
53{
54 // Constructor
55
56 fRecoUtils = new AliEMCALRecoUtils;
57
58}
59
60//_________________________________________________________________
61Bool_t AliAnalysisTaskESDfilterEMCALEventSelect::AcceptEventEMCAL()
62{
63 // Accept event given there is a cluster with enough energy
64
65 if(!fGeometry) fGeometry = AliEMCALGeometry::GetInstance("EMCAL_COMPLETE12SMV1");
66
67 Int_t nCluster = InputEvent() -> GetNumberOfCaloClusters();
68 AliVCaloCells * caloCell = InputEvent() -> GetEMCALCells();
69 Int_t bc = InputEvent() -> GetBunchCrossNumber();
70
71 for(Int_t icalo = 0; icalo < nCluster; icalo++)
72 {
73 AliESDCaloCluster *clus = (AliESDCaloCluster*) (InputEvent()->GetCaloCluster(icalo));
74
75 if( ( clus->IsEMCAL() ) && ( clus->GetNCells() > fNcellsCut ) && ( clus->E() > fEnergyCut ) &&
76 fRecoUtils->IsGoodCluster(clus,fGeometry,caloCell,bc))
77 {
78
79 // printf("Accept event %d, E %2.2f > %2.2f, nCells %d > %d \n",
80 // (Int_t) Entry(),clus->E(), fEnergyCut, clus->GetNCells(), fNcellsCut);
81
82 return kTRUE;
83 }
84
85 }// loop
86
87 return kFALSE;
88
89}
90
91//_________________________________________________________________
92void AliAnalysisTaskESDfilterEMCALEventSelect::UserExec(Option_t *)
93{
94 // Main loop
95
96 // Check if the events contains what we want in EMCAL, if not,
97 // do not copy the ESD into AOD
98
99 if(!AcceptEventEMCAL()) return ;
100
101 // Continue the processing in the same way as in the ESD filter
102
103 AliAnalysisTaskESDfilter::UserExec("");
104
105}