1 /**************************************************************************
2 * Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
16 // Comment describing what this class does needed!
18 #include "AliJTrackCut.h"
19 #include "AliJTrack.h"
22 AliJTrackCut::AliJTrackCut()
27 bool AliJTrackCut::IsSelected ( AliJTrack *track, int icut )const{
29 if( ! track ) return false;
30 if( 1 ) {// TODO fProdVersion == 10 )
33 case AliJTrackCut::kJTPCOnly :
34 return track->IsFiltered( 7 );
36 case AliJTrackCut::kJRaa :
37 return track->IsFiltered( 10 ); //TODO
39 case AliJTrackCut::kJTPCplus :
40 return track->IsFiltered( 12 );
42 case AliJTrackCut::kJHybridA :
43 return track->IsFiltered( 14 );
45 case AliJTrackCut::kJHybridB :
46 return ( !track->IsFiltered( 14 ) && track->IsFiltered(15) );
48 case AliJTrackCut::kJHybrid :
49 return ( IsSelected(track,kJHybridA) || IsSelected(track, kJHybridB ) );
51 case AliJTrackCut::kJTPC2A :
52 return track->IsFiltered(11);
53 case AliJTrackCut::kJRaa2011 :
54 return track->IsFiltered(13);
55 case AliJTrackCut::kJH22011 :
56 return track->IsFiltered(16);
57 case AliJTrackCut::kJH32011 :
58 return track->IsFiltered(17);
67 bool AliJTrackCut::IsSelected ( AliJTrack *track, int icut )const{
69 if( ! track ) return false;
70 if( 1 ) {// TODO fProdVersion == 10 )
73 case AliJTrackCut::kJTPCOnly :
74 return track->IsFiltered( 7 );
76 case AliJTrackCut::kJRaa :
77 return track->IsFiltered( 10 ); //TODO
79 case AliJTrackCut::kJHybrid :
80 return track->IsFiltered(8) || track->IsFiltered(9) ;
81 case AliJTrackCut::kJGlobalTightDCA :
82 return track->IsFiltered( 5 ); // 32
83 case AliJTrackCut::kJGlobalDCA :
84 return track->IsFiltered( 4 ); // 32
85 case AliJTrackCut::kJGlobalSDD :
86 return track->IsFiltered( 5 ) || track->IsFiltered( 6 );
92 bool AliJTrackCut::SetMomentum( AliJTrack *track, int icut ) const {
94 if( ! track ) return false;
95 if( 1 ) {// TODO fProdVersion == 10 )
99 case AliJTrackCut::kJTPCOnly :
100 if( track->PtTPC() > 1e-9 ){
101 track->SetUseTPCTrack();
104 case AliJTrackCut::kJTPCplus :
105 if( track->PtTPC() > 1e-9 ){
106 track->SetUseTPCTrack();
109 case AliJTrackCut::kJHybrid :
110 if( (!IsSelected( track, kJHybridA )) && track->PtGCG() > 1e-9 )
111 track->SetUseGCGTrack();
122 AliJTrackCut& AliJTrackCut::GetSpecialInstance(){
124 static AliJTrackCut instance;
127 const AliJTrackCut& AliJTrackCut::GetInstance(){
129 return GetSpecialInstance();