]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGHF/hfe/AliSelectNonHFE.h
Merge remote-tracking branch 'origin/master' into flatdev
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliSelectNonHFE.h
index 4e4bb43f5d4507432279fa99edfdb92d07b7d28d..2007d9c306690891d5a64e48edb860c137e0dcb6 100644 (file)
@@ -6,10 +6,11 @@
 
 ////////////////////////////////////////////////////////////////////////
 //                                                                    //
-//     Task for the Selection of Non-Heavy-Flavour-Electrons         //
+//     Class for the Selection of Non-Heavy-Flavour-Electrons        //
 //                                                                    //
 //             Author: Elienos Pereira de Oliveira Filho                                 //
-//                                     (University of São Paulo)                                                //    
+//                                     (epereira@cern.ch)                                                                //
+//                                     University of São Paulo                                                          //    
 //                                                                    //
 ////////////////////////////////////////////////////////////////////////
 
 
 class TH1F;
 class TH2F;
-class AliESDEvent;
-class AliESDtrack;
+class AliVEvent;
+class AliVParticle;
 class AliESDtrackCuts;
 class AliPIDResponse;
 
-
 class AliSelectNonHFE : public TNamed {
  public:
   AliSelectNonHFE();
@@ -36,8 +36,10 @@ class AliSelectNonHFE : public TNamed {
   Int_t* GetPartnersULS() const {return fULSPartner;};
   Bool_t IsLS() const {return fIsLS;};
   Bool_t IsULS() const {return fIsULS;};
-  void FindNonHFE(Int_t iTrack, AliESDtrack *track1, AliESDEvent *fESD);
+  void FindNonHFE(Int_t iTrack1, AliVParticle *Vtrack1, AliVEvent *fVevent);
   void SetAlgorithm(TString Algorithm) {fAlgorithm = Algorithm;};
+  void SetAdditionalCuts(Double_t PtMin, Int_t TpcNcls) {fPtMin = PtMin; fTpcNcls = TpcNcls; fHasPtCut=kTRUE; };
+  void SetAODanalysis(Bool_t IsAOD) {fIsAOD = IsAOD;};
   void SetChi2OverNDFCut(Double_t Chi2OverNDFCut) {fChi2OverNDFCut = Chi2OverNDFCut;};
   void SetDCACut(Double_t dcaCut) {fdcaCut = dcaCut;};
   void SetHistAngleBack(TH1F *HistAngleBack) {fHistAngleBack = HistAngleBack;};
@@ -50,47 +52,45 @@ class AliSelectNonHFE : public TNamed {
   void SetOpeningAngleCut(Double_t AngleCut) {fAngleCut = AngleCut;};
   void SetPIDresponse(AliPIDResponse* PIDResponse) {fPIDResponse = PIDResponse;};
        
-       void SetTrackCuts(Double_t TPCnSigmaMin, Double_t TPCnSigmaMax, Double_t TOFnSigmaMin, Double_t TOFnSigmaMax
+       void SetTrackCuts(Double_t TPCnSigmaMin, Double_t TPCnSigmaMax) 
        {
                fTPCnSigmaMin = TPCnSigmaMin; 
                fTPCnSigmaMax = TPCnSigmaMax; 
-               fTOFnSigmaMin = TOFnSigmaMin; 
-               fTOFnSigmaMax = TOFnSigmaMax;
        };
        
-       void SetTrackCuts(Double_t TPCnSigmaMin, Double_t TPCnSigmaMax, Double_t TOFnSigmaMin, Double_t TOFnSigmaMax, AliESDtrackCuts* TrackCuts) 
+       void SetTrackCuts(Double_t TPCnSigmaMin, Double_t TPCnSigmaMax, AliESDtrackCuts* TrackCuts) 
        {
                fTPCnSigmaMin = TPCnSigmaMin; 
                fTPCnSigmaMax = TPCnSigmaMax; 
-               fTOFnSigmaMin = TOFnSigmaMin; 
-               fTOFnSigmaMax = TOFnSigmaMax; 
                fTrackCuts = TrackCuts;
        };
   
  private:
   AliESDtrackCuts      *fTrackCuts;            //! Track quality
-  TString              fAlgorithm;             //Algorithm choice: "MA" (Manual Algorithm) or "KF" (Kalman Filter Algorithm)
-  Double_t             fAngleCut;              //Maximum opening angle between the tracks
-  Double_t             fdcaCut;                //Maximum dca between the tracks
-  Double_t             fTPCnSigmaMin;          //Minimum partner TPCnSigma value
+  TString              fAlgorithm;                     //Algorithm choice: "MA" (Manual Algorithm) or "KF" (Kalman Filter Algorithm)
+  Double_t             fAngleCut;                              //Maximum opening angle between the tracks
+  Double_t             fdcaCut;                                //Maximum dca between the tracks
+  Double_t             fTPCnSigmaMin;                  //Minimum partner TPCnSigma value
   Double_t             fTPCnSigmaMax;                  //Maximum partner TPCnSigma value
-  Double_t             fTOFnSigmaMin;          //Minimum partner TOFnSigma value
-  Double_t             fTOFnSigmaMax;                  //Maximum partner TOFnSigma value
-  Double_t             fMassCut;               //Maximum Invariant Mass Value for Non-HF-Electrons
+  Double_t             fMassCut;                               //Maximum Invariant Mass Value for Non-HF-Electrons
   Double_t             fChi2OverNDFCut;        //Maximum value of Chi2 over NDF in the case of KF Algorithm
-  Bool_t               fIsLS;                  //Unlike signal pairs Flag
-  Bool_t               fIsULS;                 //like signal pairs Flag
-  Int_t                        fNLS;                   //Number of Unlike signal pairs
-  Int_t                        fNULS;                  //Number of like signal pairs
+  Double_t             fPtMin;                                 //Minimum pT value for the associated electrons
+  Bool_t               fIsLS;                                  //Unlike signal pairs Flag
+  Bool_t               fIsULS;                                 //like signal pairs Flag
+  Bool_t               fIsAOD;                                 //Flag for AOD analysis
+  Bool_t               fHasPtCut;                              //Flag for additional pT cut
+  Int_t                        fNLS;                                   //Number of Unlike signal pairs
+  Int_t                        fNULS;                                  //Number of like signal pairs
+  Int_t                        fTpcNcls;                               //Minimum Number of clusters in the TPC
   Int_t                        *fLSPartner;            //! Pointer for the LS partners index
   Int_t                        *fULSPartner;           //! Pointer for the ULS partners index
-  TH1F                 *fHistMass;             //! Invariant mass histogram for Unlike sign pairs
+  TH1F                 *fHistMass;                             //! Invariant mass histogram for Unlike sign pairs
   TH1F                 *fHistMassBack;         //! Invariant mass histogram for like sign pairs
-  TH1F                 *fHistDCA;              //! DCA histogram for Unlike sign pairs
+  TH1F                 *fHistDCA;                              //! DCA histogram for Unlike sign pairs
   TH1F                 *fHistDCABack;          //! DCA histogram for like sign pairs
   TH1F                 *fHistAngle;            //! Opening Angle histogram for Unlike sign pairs
   TH1F                 *fHistAngleBack;        //! Opening Angle histogram for like sign pairs
-  AliPIDResponse *fPIDResponse;     //! PID response object
+  AliPIDResponse *fPIDResponse;        //! PID response object
   
   AliSelectNonHFE(const AliSelectNonHFE&); // not implemented
   AliSelectNonHFE& operator=(const AliSelectNonHFE&); // not implemented