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.                  *
 **************************************************************************/


///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// HMPID tender: - recalculate pid bit using tighter cuts
//               - this is needed for all 2010 and 11a-c data
//             
//             
// Contacts: Giacomo.Volpe@ba.infn.it                                        //
//           Jens.Wiechula@cern.ch                                           //
///////////////////////////////////////////////////////////////////////////////
#include <TMath.h>
#include <TRandom.h>
#include <AliLog.h>
#include <AliESDEvent.h>
#include <AliESDtrack.h>
#include <AliESDInputHandler.h>
#include <AliAnalysisManager.h>
#include <AliESDpid.h>
#include <AliTender.h>

#include "AliHMPIDTenderSupply.h"

ClassImp(AliHMPIDTenderSupply)

AliHMPIDTenderSupply::AliHMPIDTenderSupply() :
AliTenderSupply()
{
  //
  // default ctor
  //
}

//_____________________________________________________
AliHMPIDTenderSupply::AliHMPIDTenderSupply(const char *name, const AliTender *tender) :
AliTenderSupply(name,tender)
{
  //
  // named ctor
  //
}

//_____________________________________________________
void AliHMPIDTenderSupply::Init()
{
  // Initialise HMPID tender
  
}

//_____________________________________________________
void AliHMPIDTenderSupply::ProcessEvent()
{
  //
  // recalculate HMPIDpid bit
  // 
  

  AliESDEvent *event=fTender->GetEvent();
  if (!event) return;
  
  // re-evaluate the HMPIDpid bit for all tracks
  Int_t ntracks=event->GetNumberOfTracks();
  for(Int_t itrack = 0; itrack < ntracks; itrack++){
    AliESDtrack *track=event->GetTrack(itrack);
    if (!itrack) continue;
    //reset pid bit first
    track->ResetStatus(AliESDtrack::kHMPIDpid);

    Float_t xPc=0., yPc=0., xMip=0., yMip=0., thetaTrk=0., phiTrk=0.;
    Int_t nPhot=0, qMip=0;
 
    track->GetHMPIDtrk(xPc,yPc,thetaTrk,phiTrk);
    track->GetHMPIDmip(xMip,yMip,qMip,nPhot);
    //
    //make cuts, just an example, THIS NEEDS TO BE CHANGED
    //
    //if ((track->GetStatus()&AliESDtrack::kHMPIDout)!=AliESDtrack::kHMPIDout) continue;
   
    Float_t dist = TMath::Sqrt((xPc-xMip)*(xPc-xMip) + (yPc-yMip)*(yPc-yMip));    

    if(dist > 0.7 || nPhot> 30 || qMip < 100  ) continue;

    //set pid bit, track was accepted
    track->SetStatus(AliESDtrack::kHMPIDpid);
    
  }
  
  
}
 AliHMPIDTenderSupply.cxx:1
 AliHMPIDTenderSupply.cxx:2
 AliHMPIDTenderSupply.cxx:3
 AliHMPIDTenderSupply.cxx:4
 AliHMPIDTenderSupply.cxx:5
 AliHMPIDTenderSupply.cxx:6
 AliHMPIDTenderSupply.cxx:7
 AliHMPIDTenderSupply.cxx:8
 AliHMPIDTenderSupply.cxx:9
 AliHMPIDTenderSupply.cxx:10
 AliHMPIDTenderSupply.cxx:11
 AliHMPIDTenderSupply.cxx:12
 AliHMPIDTenderSupply.cxx:13
 AliHMPIDTenderSupply.cxx:14
 AliHMPIDTenderSupply.cxx:15
 AliHMPIDTenderSupply.cxx:16
 AliHMPIDTenderSupply.cxx:17
 AliHMPIDTenderSupply.cxx:18
 AliHMPIDTenderSupply.cxx:19
 AliHMPIDTenderSupply.cxx:20
 AliHMPIDTenderSupply.cxx:21
 AliHMPIDTenderSupply.cxx:22
 AliHMPIDTenderSupply.cxx:23
 AliHMPIDTenderSupply.cxx:24
 AliHMPIDTenderSupply.cxx:25
 AliHMPIDTenderSupply.cxx:26
 AliHMPIDTenderSupply.cxx:27
 AliHMPIDTenderSupply.cxx:28
 AliHMPIDTenderSupply.cxx:29
 AliHMPIDTenderSupply.cxx:30
 AliHMPIDTenderSupply.cxx:31
 AliHMPIDTenderSupply.cxx:32
 AliHMPIDTenderSupply.cxx:33
 AliHMPIDTenderSupply.cxx:34
 AliHMPIDTenderSupply.cxx:35
 AliHMPIDTenderSupply.cxx:36
 AliHMPIDTenderSupply.cxx:37
 AliHMPIDTenderSupply.cxx:38
 AliHMPIDTenderSupply.cxx:39
 AliHMPIDTenderSupply.cxx:40
 AliHMPIDTenderSupply.cxx:41
 AliHMPIDTenderSupply.cxx:42
 AliHMPIDTenderSupply.cxx:43
 AliHMPIDTenderSupply.cxx:44
 AliHMPIDTenderSupply.cxx:45
 AliHMPIDTenderSupply.cxx:46
 AliHMPIDTenderSupply.cxx:47
 AliHMPIDTenderSupply.cxx:48
 AliHMPIDTenderSupply.cxx:49
 AliHMPIDTenderSupply.cxx:50
 AliHMPIDTenderSupply.cxx:51
 AliHMPIDTenderSupply.cxx:52
 AliHMPIDTenderSupply.cxx:53
 AliHMPIDTenderSupply.cxx:54
 AliHMPIDTenderSupply.cxx:55
 AliHMPIDTenderSupply.cxx:56
 AliHMPIDTenderSupply.cxx:57
 AliHMPIDTenderSupply.cxx:58
 AliHMPIDTenderSupply.cxx:59
 AliHMPIDTenderSupply.cxx:60
 AliHMPIDTenderSupply.cxx:61
 AliHMPIDTenderSupply.cxx:62
 AliHMPIDTenderSupply.cxx:63
 AliHMPIDTenderSupply.cxx:64
 AliHMPIDTenderSupply.cxx:65
 AliHMPIDTenderSupply.cxx:66
 AliHMPIDTenderSupply.cxx:67
 AliHMPIDTenderSupply.cxx:68
 AliHMPIDTenderSupply.cxx:69
 AliHMPIDTenderSupply.cxx:70
 AliHMPIDTenderSupply.cxx:71
 AliHMPIDTenderSupply.cxx:72
 AliHMPIDTenderSupply.cxx:73
 AliHMPIDTenderSupply.cxx:74
 AliHMPIDTenderSupply.cxx:75
 AliHMPIDTenderSupply.cxx:76
 AliHMPIDTenderSupply.cxx:77
 AliHMPIDTenderSupply.cxx:78
 AliHMPIDTenderSupply.cxx:79
 AliHMPIDTenderSupply.cxx:80
 AliHMPIDTenderSupply.cxx:81
 AliHMPIDTenderSupply.cxx:82
 AliHMPIDTenderSupply.cxx:83
 AliHMPIDTenderSupply.cxx:84
 AliHMPIDTenderSupply.cxx:85
 AliHMPIDTenderSupply.cxx:86
 AliHMPIDTenderSupply.cxx:87
 AliHMPIDTenderSupply.cxx:88
 AliHMPIDTenderSupply.cxx:89
 AliHMPIDTenderSupply.cxx:90
 AliHMPIDTenderSupply.cxx:91
 AliHMPIDTenderSupply.cxx:92
 AliHMPIDTenderSupply.cxx:93
 AliHMPIDTenderSupply.cxx:94
 AliHMPIDTenderSupply.cxx:95
 AliHMPIDTenderSupply.cxx:96
 AliHMPIDTenderSupply.cxx:97
 AliHMPIDTenderSupply.cxx:98
 AliHMPIDTenderSupply.cxx:99
 AliHMPIDTenderSupply.cxx:100
 AliHMPIDTenderSupply.cxx:101
 AliHMPIDTenderSupply.cxx:102
 AliHMPIDTenderSupply.cxx:103