2 // $Id: AliHLTJETTrackCuts.cxx $
3 /**************************************************************************
4 * This file is property of and copyright by the ALICE HLT Project *
5 * ALICE Experiment at CERN, All rights reserved. *
7 * Primary Authors: Jochen Thaeder <thaeder@kip.uni-heidelberg.de> *
8 * for The ALICE HLT Project. *
10 * Permission to use, copy, modify and distribute this software and its *
11 * documentation strictly for non-commercial purposes is hereby granted *
12 * without fee, provided that the above copyright notice appears in all *
13 * copies and that both the copyright notice and this permission notice *
14 * appear in the supporting documentation. The authors make no claims *
15 * about the suitability of this software for any purpose. It is *
16 * provided "as is" without express or implied warranty. *
17 **************************************************************************/
19 /** @file AliHLTJETTrackCuts.h
20 @author Jochen Thaeder
22 @brief Cuts for jet input tracks
25 // see header file for class documentation
27 // refer to README to build package
29 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
35 #include "AliHLTJETTrackCuts.h"
37 /** ROOT macro for the implementation of ROOT specific class methods */
38 ClassImp(AliHLTJETTrackCuts)
41 * ---------------------------------------------------------------------------------
42 * Constructor / Destructor
43 * ---------------------------------------------------------------------------------
46 // #################################################################################
47 AliHLTJETTrackCuts::AliHLTJETTrackCuts(const Char_t* name, const Char_t* title )
49 AliAnalysisCuts(name, title),
56 // see header file for class documentation
58 // refer to README to build package
60 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
64 // #################################################################################
65 AliHLTJETTrackCuts::~AliHLTJETTrackCuts() {
66 // see header file for class documentation
71 * ---------------------------------------------------------------------------------
73 * ---------------------------------------------------------------------------------
76 // #################################################################################
77 Bool_t AliHLTJETTrackCuts::IsSelected( TObject *obj ) {
78 // see header file for class documentation
80 Bool_t bResult = kTRUE;
82 if ( ! strcmp(obj->ClassName(),"TParticle") )
83 bResult = IsSelected( dynamic_cast<TParticle*> (obj));
84 else if ( ! strcmp(obj->ClassName(),"AliESDtrack") )
85 bResult = IsSelected( dynamic_cast<AliESDtrack*> (obj));
87 HLTError("Unknown object type %s", obj->ClassName() );
91 HLTError("Unknown object dd type %s", obj->ClassName() );
96 // #################################################################################
97 Bool_t AliHLTJETTrackCuts::IsSelected( TParticle *particle ) {
98 // see header file for class documentation
100 // ----------------------------------
101 // Applied before in AliHLTMCEvent:
102 // - Is Physical Primary
103 // stack->IsPhysicalPrimary(iter)
105 // particle->GetNDaughters() == 0
106 // ----------------------------------
108 Bool_t bResult = kTRUE;
110 Int_t status = particle->GetStatusCode();
111 Int_t pdgCode = TMath::Abs( particle->GetPdgCode() );
113 // -- Skip non-final state particles (status != 1), neutrinos (12,14,16)
114 if ( (status != 1) || (pdgCode == 12 || pdgCode == 14 || pdgCode == 16) )
117 // -- Charged particles only
118 if ( fChargedOnly && !particle->GetPDG()->Charge() )
122 if ( particle->Pt() < fPtMin )
125 // -- cut on eta acceptance
126 if ( ( particle->Eta() < fEtaMin ) || ( particle->Eta() > fEtaMax ) )
129 // -- cut on phi acceptance
130 if ( ( particle->Phi() < fPhiMin ) || ( particle->Phi() > fPhiMax ) )
136 // #################################################################################
137 Bool_t AliHLTJETTrackCuts::IsSelected( AliESDtrack *esdTrack ) {
138 // see header file for class documentation
140 Bool_t bResult = kTRUE;
143 if ( esdTrack->Pt() < fPtMin )
146 // -- cut on eta acceptance
147 if ( ( esdTrack->Eta() < fEtaMin ) || ( esdTrack->Eta() > fEtaMax ) )
150 cout << esdTrack->Phi() << endl;
152 // -- cut on phi acceptance
153 if ( ( esdTrack->Phi() < fPhiMin ) || ( esdTrack->Phi() > fPhiMax ) )