ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

//Utils for identified fragmentation function (IDFF) analysis
//Author: Xianguo Lu (xianguo.lu@cern.ch)

#ifndef ALIIDFFUTILS_H
#define ALIIDFFUTILS_H

#include "TH2D.h"
#include "THnSparse.h"
#include "AliPIDResponse.h"
#include "AliAODTrack.h"

#include <TTreeStream.h>
  
class AliIDFFUtils
{
 public:
  enum TYPEID{
    kNOTACCEPTED = -3, 
    kNOINFO = -2,
    kNOTSELECTED = -1,
    kPROTON=0,
    kPION,
    kKAON,
    kELECTRON
  };

  static THnSparseD* GetTHn(const TString name);
  static void FillTHn(THnSparseD * hh, Double_t jetpt, const AliAODTrack * trackk,  AliAODEvent* aodevt, Int_t tofmode);  

  static Bool_t TPCCutPIDN(const AliAODTrack * track);
  static Bool_t TPCCutMIGeo(const AliAODTrack * track, const AliVEvent* evt, TTreeStream * streamer=0x0);

                                                                        
  static AliPIDResponse * fPid;

 private:
  static Double_t Xmin(){return -1;}
  static Double_t Xmax(){return 2;}
  static Int_t Nx(){return 300;}

  static Int_t PDG2Type(Int_t pdg);
  
  static Int_t TOFType(const AliAODTrack * trackptr, Int_t tofmode);
  static Int_t TPCType(const AliAODTrack * trackptr);

  static Int_t CombineTPCTOF(Int_t ktpc, Int_t ktof);

  //static Bool_t HMPIDAcceptance(const AliAODTrack *track);
  //static Bool_t HMPIDQA(const AliAODTrack *track);
  //static Int_t HMPIDType(const AliAODTrack * track);

};

#endif
 AliIDFFUtils.h:1
 AliIDFFUtils.h:2
 AliIDFFUtils.h:3
 AliIDFFUtils.h:4
 AliIDFFUtils.h:5
 AliIDFFUtils.h:6
 AliIDFFUtils.h:7
 AliIDFFUtils.h:8
 AliIDFFUtils.h:9
 AliIDFFUtils.h:10
 AliIDFFUtils.h:11
 AliIDFFUtils.h:12
 AliIDFFUtils.h:13
 AliIDFFUtils.h:14
 AliIDFFUtils.h:15
 AliIDFFUtils.h:16
 AliIDFFUtils.h:17
 AliIDFFUtils.h:18
 AliIDFFUtils.h:19
 AliIDFFUtils.h:20
 AliIDFFUtils.h:21
 AliIDFFUtils.h:22
 AliIDFFUtils.h:23
 AliIDFFUtils.h:24
 AliIDFFUtils.h:25
 AliIDFFUtils.h:26
 AliIDFFUtils.h:27
 AliIDFFUtils.h:28
 AliIDFFUtils.h:29
 AliIDFFUtils.h:30
 AliIDFFUtils.h:31
 AliIDFFUtils.h:32
 AliIDFFUtils.h:33
 AliIDFFUtils.h:34
 AliIDFFUtils.h:35
 AliIDFFUtils.h:36
 AliIDFFUtils.h:37
 AliIDFFUtils.h:38
 AliIDFFUtils.h:39
 AliIDFFUtils.h:40
 AliIDFFUtils.h:41
 AliIDFFUtils.h:42
 AliIDFFUtils.h:43
 AliIDFFUtils.h:44
 AliIDFFUtils.h:45
 AliIDFFUtils.h:46
 AliIDFFUtils.h:47
 AliIDFFUtils.h:48
 AliIDFFUtils.h:49
 AliIDFFUtils.h:50
 AliIDFFUtils.h:51
 AliIDFFUtils.h:52
 AliIDFFUtils.h:53
 AliIDFFUtils.h:54
 AliIDFFUtils.h:55
 AliIDFFUtils.h:56
 AliIDFFUtils.h:57
 AliIDFFUtils.h:58
 AliIDFFUtils.h:59
 AliIDFFUtils.h:60
 AliIDFFUtils.h:61
 AliIDFFUtils.h:62
 AliIDFFUtils.h:63
 AliIDFFUtils.h:64
 AliIDFFUtils.h:65
 AliIDFFUtils.h:66
 AliIDFFUtils.h:67
 AliIDFFUtils.h:68
 AliIDFFUtils.h:69