]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/hfe/AliSelectNonHFE.h
Class of Elienos
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliSelectNonHFE.h
1 #ifndef ALISELECTNONHFE_H
2 #define ALISELECTNONHFE_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 ////////////////////////////////////////////////////////////////////////
8 //                                                                    //
9 //      Task for the Selection of Non-Heavy-Flavour-Electrons         //
10 //                                                                    //
11 //              Author: Elienos Pereira de Oliveira Filho                                 //
12 //                                      (University of São Paulo)                                                //    
13 //                                                                    //
14 ////////////////////////////////////////////////////////////////////////
15
16 #ifndef ROOT_TNamed
17 #include <TNamed.h>
18 #endif
19
20 class TH1F;
21 class TH2F;
22 class AliESDEvent;
23 class AliESDtrack;
24 class AliESDtrackCuts;
25
26
27 class AliSelectNonHFE : public TNamed {
28  public:
29   AliSelectNonHFE();
30   AliSelectNonHFE(const char *name, const Char_t *title);
31   virtual ~AliSelectNonHFE();
32   Int_t GetNLS() const {return fNLS;};
33   Int_t GetNULS() const {return fNULS;};
34   Int_t* GetPartnersLS() const {return fLSPartner;};
35   Int_t* GetPartnersULS() const {return fULSPartner;};
36   Bool_t IsLS() const {return fIsLS;};
37   Bool_t IsULS() const {return fIsULS;};
38   void FindNonHFE(Int_t iTrack, AliESDtrack *track1, AliESDEvent *fESD);
39   void SetAlgorithm(TString Algorithm) {fAlgorithm = Algorithm;};
40   void SetChi2OverNDFCut(Double_t Chi2OverNDFCut) {fChi2OverNDFCut = Chi2OverNDFCut;};
41   void SetDCACut(Double_t dcaCut) {fdcaCut = dcaCut;};
42   void SetHistAngleBack(TH1F *HistAngleBack) {fHistAngleBack = HistAngleBack;};
43   void SetHistAngle(TH1F *HistAngle) {fHistAngle = HistAngle;};
44   void SetHistDCABack(TH1F *HistDCABack) {fHistDCABack = HistDCABack;};
45   void SetHistDCA(TH1F *HistDCA) {fHistDCA = HistDCA;};
46   void SetHistMassBack(TH1F *HistMassBack) {fHistMassBack = HistMassBack;};
47   void SetHistMass(TH1F *HistMass) {fHistMass = HistMass;};
48   void SetInvariantMassCut(Double_t MassCut) {fMassCut = MassCut;};
49   void SetOpeningAngleCut(Double_t AngleCut) {fAngleCut = AngleCut;};
50   void SetTrackCuts(Double_t dEdxMin, Double_t dEdxMax) {fdEdxMin = dEdxMin; fdEdxMax = dEdxMax;};
51   void SetTrackCuts(Double_t dEdxMin, Double_t dEdxMax, AliESDtrackCuts* TrackCuts) 
52   {fdEdxMin = dEdxMin; fdEdxMax = dEdxMax; fTrackCuts = TrackCuts;};
53   
54  private:
55   AliESDtrackCuts       *fTrackCuts;            //! Track quality
56   TString               fAlgorithm;             //Algorithm choice: "MA" (Manual Algorithm) or "KF" (Kalman Filter Algorithm)
57   Double_t              fAngleCut;              //Maximum opening angle between the tracks
58   Double_t              fdcaCut;                //Maximum dca between the tracks
59   Double_t              fdEdxMin;               //Minimum partner dEdx value
60   Double_t              fdEdxMax;               //Maximum partner dEdx value
61   Double_t              fMassCut;               //Maximum Invariant Mass Value for Non-HF-Electrons
62   Double_t              fChi2OverNDFCut;        //Maximum value of Chi2 over NDF in the case of KF Algorithm
63   Bool_t                fIsLS;                  //Unlike signal pairs Flag
64   Bool_t                fIsULS;                 //like signal pairs Flag
65   Int_t                 fNLS;                   //Number of Unlike signal pairs
66   Int_t                 fNULS;                  //Number of like signal pairs
67   Int_t                 *fLSPartner;            //! Pointer for the LS partners index
68   Int_t                 *fULSPartner;           //! Pointer for the ULS partners index
69   TH1F                  *fHistMass;             //! Invariant mass histogram for Unlike sign pairs
70   TH1F                  *fHistMassBack;         //! Invariant mass histogram for like sign pairs
71   TH1F                  *fHistDCA;              //! DCA histogram for Unlike sign pairs
72   TH1F                  *fHistDCABack;          //! DCA histogram for like sign pairs
73   TH1F                  *fHistAngle;            //! Opening Angle histogram for Unlike sign pairs
74   TH1F                  *fHistAngleBack;        //! Opening Angle histogram for like sign pairs
75   
76   AliSelectNonHFE(const AliSelectNonHFE&); // not implemented
77   AliSelectNonHFE& operator=(const AliSelectNonHFE&); // not implemented
78   
79   ClassDef(AliSelectNonHFE, 1); //!example of analysis
80 };
81
82 #endif