1 #ifndef ALISELECTNONHFE_H
2 #define ALISELECTNONHFE_H
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 ////////////////////////////////////////////////////////////////////////
9 // Class for the Selection of Non-Heavy-Flavour-Electrons //
11 // Author: Elienos Pereira de Oliveira Filho //
12 // (epereira@cern.ch) //
13 // University of São Paulo //
15 ////////////////////////////////////////////////////////////////////////
25 class AliESDtrackCuts;
28 class AliSelectNonHFE : public TNamed {
31 AliSelectNonHFE(const char *name, const Char_t *title);
32 virtual ~AliSelectNonHFE();
33 Int_t GetNLS() const {return fNLS;};
34 Int_t GetNULS() const {return fNULS;};
35 Int_t* GetPartnersLS() const {return fLSPartner;};
36 Int_t* GetPartnersULS() const {return fULSPartner;};
37 Bool_t IsLS() const {return fIsLS;};
38 Bool_t IsULS() const {return fIsULS;};
39 void FindNonHFE(Int_t iTrack1, AliVParticle *Vtrack1, AliVEvent *fVevent);
40 void SetAlgorithm(TString Algorithm) {fAlgorithm = Algorithm;};
41 void SetAdditionalCuts(Double_t PtMin, Int_t TpcNcls) {fPtMin = PtMin; fTpcNcls = TpcNcls; fHasPtCut=kTRUE; };
42 void SetAODanalysis(Bool_t IsAOD) {fIsAOD = IsAOD;};
43 void SetChi2OverNDFCut(Double_t Chi2OverNDFCut) {fChi2OverNDFCut = Chi2OverNDFCut;};
44 void SetDCACut(Double_t dcaCut) {fdcaCut = dcaCut;};
45 void SetHistAngleBack(TH1F *HistAngleBack) {fHistAngleBack = HistAngleBack;};
46 void SetHistAngle(TH1F *HistAngle) {fHistAngle = HistAngle;};
47 void SetHistDCABack(TH1F *HistDCABack) {fHistDCABack = HistDCABack;};
48 void SetHistDCA(TH1F *HistDCA) {fHistDCA = HistDCA;};
49 void SetHistMassBack(TH1F *HistMassBack) {fHistMassBack = HistMassBack;};
50 void SetHistMass(TH1F *HistMass) {fHistMass = HistMass;};
51 void SetInvariantMassCut(Double_t MassCut) {fMassCut = MassCut;};
52 void SetOpeningAngleCut(Double_t AngleCut) {fAngleCut = AngleCut;};
53 void SetPIDresponse(AliPIDResponse* PIDResponse) {fPIDResponse = PIDResponse;};
55 void SetTrackCuts(Double_t TPCnSigmaMin, Double_t TPCnSigmaMax)
57 fTPCnSigmaMin = TPCnSigmaMin;
58 fTPCnSigmaMax = TPCnSigmaMax;
61 void SetTrackCuts(Double_t TPCnSigmaMin, Double_t TPCnSigmaMax, AliESDtrackCuts* TrackCuts)
63 fTPCnSigmaMin = TPCnSigmaMin;
64 fTPCnSigmaMax = TPCnSigmaMax;
65 fTrackCuts = TrackCuts;
69 AliESDtrackCuts *fTrackCuts; //! Track quality
70 TString fAlgorithm; //Algorithm choice: "MA" (Manual Algorithm) or "KF" (Kalman Filter Algorithm)
71 Double_t fAngleCut; //Maximum opening angle between the tracks
72 Double_t fdcaCut; //Maximum dca between the tracks
73 Double_t fTPCnSigmaMin; //Minimum partner TPCnSigma value
74 Double_t fTPCnSigmaMax; //Maximum partner TPCnSigma value
75 Double_t fMassCut; //Maximum Invariant Mass Value for Non-HF-Electrons
76 Double_t fChi2OverNDFCut; //Maximum value of Chi2 over NDF in the case of KF Algorithm
77 Double_t fPtMin; //Minimum pT value for the associated electrons
78 Bool_t fIsLS; //Unlike signal pairs Flag
79 Bool_t fIsULS; //like signal pairs Flag
80 Bool_t fIsAOD; //Flag for AOD analysis
81 Bool_t fHasPtCut; //Flag for additional pT cut
82 Int_t fNLS; //Number of Unlike signal pairs
83 Int_t fNULS; //Number of like signal pairs
84 Int_t fTpcNcls; //Minimum Number of clusters in the TPC
85 Int_t *fLSPartner; //! Pointer for the LS partners index
86 Int_t *fULSPartner; //! Pointer for the ULS partners index
87 TH1F *fHistMass; //! Invariant mass histogram for Unlike sign pairs
88 TH1F *fHistMassBack; //! Invariant mass histogram for like sign pairs
89 TH1F *fHistDCA; //! DCA histogram for Unlike sign pairs
90 TH1F *fHistDCABack; //! DCA histogram for like sign pairs
91 TH1F *fHistAngle; //! Opening Angle histogram for Unlike sign pairs
92 TH1F *fHistAngleBack; //! Opening Angle histogram for like sign pairs
93 AliPIDResponse *fPIDResponse; //! PID response object
95 AliSelectNonHFE(const AliSelectNonHFE&); // not implemented
96 AliSelectNonHFE& operator=(const AliSelectNonHFE&); // not implemented
98 ClassDef(AliSelectNonHFE, 1); //!example of analysis