updated for e-h analysis
[u/mrichter/AliRoot.git] / CORRFW / AliCFPairAcceptanceCuts.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 the number of AliTrackReference's 
20 // for each detector. Applies on pair of tracks (AliCFPair)
21 ///////////////////////////////////////////////////////////////////////////
22 // author : R. Vernet (renaud.vernet@cern.ch)
23 ///////////////////////////////////////////////////////////////////////////
24
25
26 #ifndef ALICFPAIRACCEPTANCECUTS_H
27 #define ALICFPAIRACCEPTANCECUTS_H
28
29 #include "AliCFAcceptanceCuts.h"
30 #include "AliCFCutBase.h"
31
32 class AliMCEvent;
33 class TBits;
34
35 class AliCFPairAcceptanceCuts : public AliCFCutBase
36 {
37  public :
38   AliCFPairAcceptanceCuts() ;
39   AliCFPairAcceptanceCuts(const Char_t* name, const Char_t* title) ;
40   AliCFPairAcceptanceCuts(const AliCFPairAcceptanceCuts& c) ;
41   AliCFPairAcceptanceCuts& operator=(const AliCFPairAcceptanceCuts& c) ;
42   virtual ~AliCFPairAcceptanceCuts() {delete fCutNeg; delete fCutPos; }
43   Bool_t IsSelected(TObject* obj) ;
44   Bool_t IsSelected(TList* /*list*/) {return kTRUE;}
45   virtual void SetMCEventInfo(const TObject *mcInfo) ;
46   virtual AliCFAcceptanceCuts* GetNegCut() const {return fCutNeg;}
47   virtual AliCFAcceptanceCuts* GetPosCut() const {return fCutPos;}
48
49   enum {
50     kNCuts=2
51   };
52
53  protected:
54   AliMCEvent          *fMCInfo ; // global event information
55   AliCFAcceptanceCuts *fCutNeg ; // acceptance cut on negative daughter
56   AliCFAcceptanceCuts *fCutPos ; // acceptance cut on positive daughter
57   TBits               *fBitmap ; // cut bitmap    
58
59  private:
60   void SelectionBitMap(TObject* obj);
61
62   ClassDef(AliCFPairAcceptanceCuts,1);
63 };
64
65 #endif