]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FLOW/AliFlowCommon/AliStarEventCuts.cxx
d560392a86100b3180dfa74481d4ebb3c3433309
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowCommon / AliStarEventCuts.cxx
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 /* $Id$ */ 
17
18 // AliStarEventCuts:
19 // An event cut class for the AliStarEvent
20 //
21 // origin: Mikolaj Krzewicki (mikolaj.krzewicki@cern.ch)
22
23 #include "TNamed.h"
24 #include "AliStarEvent.h"
25 #include "AliStarEventCuts.h"
26
27 ClassImp(AliStarEventCuts)
28
29 //-----------------------------------------------------------------------
30 AliStarEventCuts::AliStarEventCuts():
31   TNamed(),
32   fCutRunID(kFALSE),
33   fRunIDMax(INT_MAX),
34   fRunIDMin(INT_MIN),
35   fCutEventNumber(kFALSE),
36   fEventNumberMax(INT_MAX),
37   fEventNumberMin(INT_MIN),
38   fCutVtxX(kFALSE),
39   fVtxXMax(FLT_MAX),
40   fVtxXMin(FLT_MIN),
41   fCutVtxY(kFALSE),
42   fVtxYMax(FLT_MAX),
43   fVtxYMin(FLT_MIN),
44   fCutVtxZ(kFALSE),
45   fVtxZMax(FLT_MAX),
46   fVtxZMin(FLT_MIN),
47   fCutBField(kFALSE),
48   fBFieldMax(FLT_MAX),
49   fBFieldMin(FLT_MIN),
50   fCutRefMult(kFALSE),
51   fRefMultMax(INT_MAX),
52   fRefMultMin(INT_MIN),
53   fCutCentralityID(kFALSE),
54   fCentralityIDMax(INT_MAX),
55   fCentralityIDMin(INT_MIN),
56   fCutNumberOfPrimaryTracks(kFALSE),
57   fNumberOfPrimaryTracksMax(INT_MAX),
58   fNumberOfPrimaryTracksMin(INT_MIN),
59   fCutNumberOfTracks(kFALSE),
60   fNumberOfTracksMax(INT_MAX),
61   fNumberOfTracksMin(INT_MIN)
62 {
63   //constructor 
64 }
65
66 ////-----------------------------------------------------------------------
67 //AliStarEventCuts::AliStarEventCuts(const AliStarEventCuts& someCuts):
68 //  TNamed(),
69 //  fCutID(that.fCutID),
70 //  fIDMax(that.fIDMax),
71 //  fIDMin(that.fIDMin),
72 //{
73 //  //copy constructor 
74 //}
75 //
76 ////-----------------------------------------------------------------------
77 //AliStarEventCuts& AliStarEventCuts::operator=(const AliStarEventCuts& someCuts)
78 //{
79 //  //assignment
80 //  fCutID=that.fCutID;
81 //  fIDMax=that.fIDMax;
82 //  fIDMin=that.fIDMin;
83 //
84 //  return *this;
85 //}
86
87 //----------------------------------------------------------------------- 
88 Bool_t AliStarEventCuts::PassesCuts(const AliStarEvent *event) const
89 {
90   ///check if event passes cuts
91   if(fCutRunID) if (event->GetRunID() < fRunIDMin || event->GetRunID() >= fRunIDMax ) return kFALSE;
92   if(fCutEventNumber) if (event->GetEventNumber() < fEventNumberMin || event->GetEventNumber() >= fEventNumberMax ) return kFALSE;
93   if(fCutVtxX) if (event->GetVtxX() < fVtxXMin || event->GetVtxX() >= fVtxXMax ) return kFALSE;
94   if(fCutVtxY) if (event->GetVtxY() < fVtxYMin || event->GetVtxY() >= fVtxYMax ) return kFALSE;
95   if(fCutVtxZ) if (event->GetVtxZ() < fVtxZMin || event->GetVtxZ() >= fVtxZMax ) return kFALSE;
96   if(fCutBField) if (event->GetBField() < fBFieldMin || event->GetBField() >= fBFieldMax ) return kFALSE;
97   if(fCutRefMult) if (event->GetRefMult() < fRefMultMin || event->GetRefMult() >= fRefMultMax ) return kFALSE;
98   if(fCutCentralityID) if (event->GetCentralityID() < fCentralityIDMin || event->GetCentralityID() >= fCentralityIDMax ) return kFALSE;
99   if(fCutNumberOfPrimaryTracks) if (event->GetNumberOfPrimaryTracks() < fNumberOfPrimaryTracksMin || event->GetNumberOfPrimaryTracks() >= fNumberOfPrimaryTracksMax ) return kFALSE;
100   if(fCutNumberOfTracks) if (event->GetNumberOfTracks() < fNumberOfTracksMin || event->GetNumberOfTracks() >= fNumberOfTracksMax ) return kFALSE;
101   return kTRUE;
102 }
103
104 //----------------------------------------------------------------------- 
105 AliStarEventCuts* AliStarEventCuts::StandardCuts()
106 {
107   //make a set of standard event cuts, caller becomes owner
108   AliStarEventCuts* cuts = new AliStarEventCuts();
109   cuts->SetVtxXMin(-1.0);
110   cuts->SetVtxXMax(1.0);
111   cuts->SetVtxYMin(-1.0);
112   cuts->SetVtxYMax(1.0);
113   cuts->SetVtxZMin(-30.0);
114   cuts->SetVtxZMax(30.0);
115   cuts->SetRefMultMin(10);
116   cuts->SetRefMultMax(1000);
117   cuts->SetNumberOfPrimaryTracksMin(0);
118   cuts->SetNumberOfPrimaryTracksMax(3000);
119   return cuts;
120 }