simplified efficiency projection
[u/mrichter/AliRoot.git] / CORRFW / AliCFV0TopoCuts.h
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 ///////////////////////////////////////////////////////////////////////////
18 //          ----   CORRECTION FRAMEWORK   ----
19 // Class to cut on V0 topology
20 //   -> support for :
21 //                    DCA between V0 daughters
22 //                    V0 daughter impact parameters wrt primary vertex
23 //                    cosine of V0 pointing angle
24 //
25 ///////////////////////////////////////////////////////////////////////////
26 // author : R. Vernet (renaud.vernet@cern.ch)
27 ///////////////////////////////////////////////////////////////////////////
28
29 #ifndef ALICFV0TOPOCUTS_H
30 #define ALICFV0TOPOCUTS_H
31
32 #include "AliCFCutBase.h"
33
34 class TObject;
35 class AliVEvent;
36
37 class AliCFV0TopoCuts : public AliCFCutBase 
38 {
39  public :
40   AliCFV0TopoCuts () ;
41   AliCFV0TopoCuts (const Char_t* name, const Char_t* title) ;
42   AliCFV0TopoCuts (const AliCFV0TopoCuts& c) ;
43   AliCFV0TopoCuts& operator=(const AliCFV0TopoCuts& c) ;
44   virtual ~AliCFV0TopoCuts() { } ;
45   Bool_t IsSelected(TObject* v0) ;
46   Bool_t IsSelected(TList* /*list*/) {return kTRUE;}
47   void   SetEvtInfo(TObject* evt) {fEvent = (AliVEvent*)evt;}
48   void   SetMaxDcaDaughters (Double32_t dca)  {fMaxDcaDaughters = dca;}
49   void   SetMinDcaNeg       (Double32_t dca)  {fMinDcaNeg = dca;}
50   void   SetMinDcaPos       (Double32_t dca)  {fMinDcaPos = dca;}
51   void   SetMinCosPointAngle(Double32_t cos)  {fMinCosP   = cos;}
52   
53  private :
54   Double32_t   fMaxDcaDaughters ; // max. dca between V0 daughters
55   Double32_t   fMinDcaNeg ;       // min impact parameter (aka dca to prim. vertex) of neg. daughter
56   Double32_t   fMinDcaPos ;       // min impact parameter (aka dca to prim. vertex) of pos. daughter
57   Double32_t   fMinCosP ;         // min cosine of pointing angle
58   AliVEvent*   fEvent;            // pointer to current event (needed for cuts related to PV position)
59   
60   ClassDef(AliCFV0TopoCuts,0);
61 };
62
63 #endif