ROOT logo
/**************************************************************************
 * Copyright(c) 1998-2007, 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.                  *
 **************************************************************************/



//
// Class to handle the AOD tracks with good HMPID data 
// Author: Levente Molnar
// levente.molnar@cern.ch , March 2012
// 

#include "AliAODHMPIDrings.h"

ClassImp(AliAODHMPIDrings)

//________________________________________________________________________________________________________________________________________________________

AliAODHMPIDrings::AliAODHMPIDrings()
                   :TObject(),
                    fHmpidAODtrkId(0),
                    fHmpidAODqn(0),
                    fHmpidAODcluIdx(0),
                    fHmpidAODtrkTheta(0),
                    fHmpidAODtrkPhi(0),
                    fHmpidAODsignal(0),
                    fHmpidAODocc(0),
                    fHmpidAODchi2(0),
                    fHmpidAODtrkX(0),
                    fHmpidAODtrkY(0),
                    fHmpidAODmipX(0),
                    fHmpidAODmipY(0)

{
  //default ctor 
   for(Int_t isp = 0 ; isp <AliPID::kSPECIES; isp++)   fHmpidAODpid[isp] = 0;
       for ( Int_t ico = 0 ; ico < 3; ico++) fHMPIDmom[ico] = 0;
}

//________________________________________________________________________________________________________________________________________________________
AliAODHMPIDrings::AliAODHMPIDrings(
                    Int_t trkId,
                    Int_t qn, 
                    Int_t cluIdx,
                    Double_t  trkTheta,
                    Double_t trkPhi,
                    Double_t signal,
                    Double_t occ,
                    Double_t chi2,
                    Double_t trkX,
                    Double_t trkY,
                    Double_t mipX,
                    Double_t mipY,
                    Double_t *pid,
                    Double_t *p         ):
                    TObject(),
                    
                    fHmpidAODtrkId(trkId),
                    fHmpidAODqn(qn),
                    fHmpidAODcluIdx(cluIdx),
                    fHmpidAODtrkTheta(trkTheta),
                    fHmpidAODtrkPhi(trkPhi),
                    fHmpidAODsignal(signal),
                    fHmpidAODocc(occ),
                    fHmpidAODchi2(chi2),
                    fHmpidAODtrkX(trkX),
                    fHmpidAODtrkY(trkY),
                    fHmpidAODmipX(mipX),
                    fHmpidAODmipY(mipY)

                    
{
       //             
       for(Int_t isp = 0 ; isp <AliPID::kSPECIES; isp++)   fHmpidAODpid[isp] = pid[isp];
       for ( Int_t ico = 0 ; ico < 3; ico++) fHMPIDmom[ico] = p[ico];
                           
}
//________________________________________________________________________________________________________________________________________________________
AliAODHMPIDrings::AliAODHMPIDrings(const AliAODHMPIDrings& hmpidAOD):
    
                    TObject(hmpidAOD),
                    fHmpidAODtrkId(hmpidAOD.fHmpidAODtrkId),
                    fHmpidAODqn(hmpidAOD.fHmpidAODqn),
                    fHmpidAODcluIdx(hmpidAOD.fHmpidAODcluIdx),
                    fHmpidAODtrkTheta(hmpidAOD.fHmpidAODtrkTheta),
                    fHmpidAODtrkPhi(hmpidAOD.fHmpidAODtrkPhi),
                    fHmpidAODsignal(hmpidAOD.fHmpidAODsignal),
                    fHmpidAODocc(hmpidAOD.fHmpidAODocc),
                    fHmpidAODchi2(hmpidAOD.fHmpidAODchi2),
                    fHmpidAODtrkX(hmpidAOD.fHmpidAODtrkX),
                    fHmpidAODtrkY(hmpidAOD.fHmpidAODtrkY),
                    fHmpidAODmipX(hmpidAOD.fHmpidAODmipX),
                    fHmpidAODmipY(hmpidAOD.fHmpidAODmipY)

                    
{
       //             
       for(Int_t isp = 0 ; isp <AliPID::kSPECIES; isp++)   fHmpidAODpid[isp] = hmpidAOD.fHmpidAODpid[isp];
       for ( Int_t ico = 0 ; ico < 3; ico++) fHMPIDmom[ico] = hmpidAOD.fHMPIDmom[ico];
                           
}

//________________________________________________________________________________________________________________________________________________________
AliAODHMPIDrings& AliAODHMPIDrings::operator=(const AliAODHMPIDrings& hmpidAOD)
{
     if (this!=&hmpidAOD) {   
                    AliAODHMPIDrings::operator=(hmpidAOD);  
                    fHmpidAODtrkId = hmpidAOD.fHmpidAODtrkId;        
                    fHmpidAODqn = hmpidAOD.fHmpidAODqn;
                    fHmpidAODcluIdx = hmpidAOD.fHmpidAODcluIdx;
                    fHmpidAODtrkTheta = hmpidAOD.fHmpidAODtrkTheta;
                    fHmpidAODtrkPhi = hmpidAOD.fHmpidAODtrkPhi;
                    fHmpidAODsignal = hmpidAOD.fHmpidAODsignal;
                    fHmpidAODocc = hmpidAOD.fHmpidAODocc;
                    fHmpidAODchi2 = hmpidAOD.fHmpidAODchi2;
                    fHmpidAODtrkX = hmpidAOD.fHmpidAODtrkX;
                    fHmpidAODtrkY = hmpidAOD.fHmpidAODtrkY;
                    fHmpidAODmipX = hmpidAOD.fHmpidAODmipX;
                    fHmpidAODmipY = hmpidAOD.fHmpidAODmipY;
                    
                    for(Int_t isp = 0 ; isp <AliPID::kSPECIES; isp++)   fHmpidAODpid[isp] = hmpidAOD.fHmpidAODpid[isp];
                    for ( Int_t ico = 0 ; ico < 3; ico++) fHMPIDmom[ico] = hmpidAOD.fHMPIDmom[ico];

     }
     
     return *this;
                                  
}
//________________________________________________________________________________________________________________________________________________________
void AliAODHMPIDrings::GetHmpPidProbs(Double_t *pid) const
{
  // Gets probabilities of each particle type (in HMPID)
  for (Int_t i=0; i<AliPID::kSPECIES; i++) pid[i]=fHmpidAODpid[i];
}
//________________________________________________________________________________________________________________________________________________________
void  AliAODHMPIDrings::GetHmpMom(Double_t *mom) const
{
  for( Int_t ico = 0 ; ico < 3; ico++) mom[ico] = fHMPIDmom[ico];
}
//________________________________________________________________________________________________________________________________________________________
void AliAODHMPIDrings::SetHmpPidProbs(Double_t *pid)
{
  // Gets probabilities of each particle type (in HMPID)
  for (Int_t i=0; i<AliPID::kSPECIES; i++) fHmpidAODpid[i] = pid[i];
}

//________________________________________________________________________________________________________________________________________________________
void  AliAODHMPIDrings::SetHmpMom(Double_t *mom)
{
  for( Int_t ico = 0 ; ico < 3; ico++) fHMPIDmom[ico] = mom[ico];  
}
//________________________________________________________________________________________________________________________________________________________

 AliAODHMPIDrings.cxx:1
 AliAODHMPIDrings.cxx:2
 AliAODHMPIDrings.cxx:3
 AliAODHMPIDrings.cxx:4
 AliAODHMPIDrings.cxx:5
 AliAODHMPIDrings.cxx:6
 AliAODHMPIDrings.cxx:7
 AliAODHMPIDrings.cxx:8
 AliAODHMPIDrings.cxx:9
 AliAODHMPIDrings.cxx:10
 AliAODHMPIDrings.cxx:11
 AliAODHMPIDrings.cxx:12
 AliAODHMPIDrings.cxx:13
 AliAODHMPIDrings.cxx:14
 AliAODHMPIDrings.cxx:15
 AliAODHMPIDrings.cxx:16
 AliAODHMPIDrings.cxx:17
 AliAODHMPIDrings.cxx:18
 AliAODHMPIDrings.cxx:19
 AliAODHMPIDrings.cxx:20
 AliAODHMPIDrings.cxx:21
 AliAODHMPIDrings.cxx:22
 AliAODHMPIDrings.cxx:23
 AliAODHMPIDrings.cxx:24
 AliAODHMPIDrings.cxx:25
 AliAODHMPIDrings.cxx:26
 AliAODHMPIDrings.cxx:27
 AliAODHMPIDrings.cxx:28
 AliAODHMPIDrings.cxx:29
 AliAODHMPIDrings.cxx:30
 AliAODHMPIDrings.cxx:31
 AliAODHMPIDrings.cxx:32
 AliAODHMPIDrings.cxx:33
 AliAODHMPIDrings.cxx:34
 AliAODHMPIDrings.cxx:35
 AliAODHMPIDrings.cxx:36
 AliAODHMPIDrings.cxx:37
 AliAODHMPIDrings.cxx:38
 AliAODHMPIDrings.cxx:39
 AliAODHMPIDrings.cxx:40
 AliAODHMPIDrings.cxx:41
 AliAODHMPIDrings.cxx:42
 AliAODHMPIDrings.cxx:43
 AliAODHMPIDrings.cxx:44
 AliAODHMPIDrings.cxx:45
 AliAODHMPIDrings.cxx:46
 AliAODHMPIDrings.cxx:47
 AliAODHMPIDrings.cxx:48
 AliAODHMPIDrings.cxx:49
 AliAODHMPIDrings.cxx:50
 AliAODHMPIDrings.cxx:51
 AliAODHMPIDrings.cxx:52
 AliAODHMPIDrings.cxx:53
 AliAODHMPIDrings.cxx:54
 AliAODHMPIDrings.cxx:55
 AliAODHMPIDrings.cxx:56
 AliAODHMPIDrings.cxx:57
 AliAODHMPIDrings.cxx:58
 AliAODHMPIDrings.cxx:59
 AliAODHMPIDrings.cxx:60
 AliAODHMPIDrings.cxx:61
 AliAODHMPIDrings.cxx:62
 AliAODHMPIDrings.cxx:63
 AliAODHMPIDrings.cxx:64
 AliAODHMPIDrings.cxx:65
 AliAODHMPIDrings.cxx:66
 AliAODHMPIDrings.cxx:67
 AliAODHMPIDrings.cxx:68
 AliAODHMPIDrings.cxx:69
 AliAODHMPIDrings.cxx:70
 AliAODHMPIDrings.cxx:71
 AliAODHMPIDrings.cxx:72
 AliAODHMPIDrings.cxx:73
 AliAODHMPIDrings.cxx:74
 AliAODHMPIDrings.cxx:75
 AliAODHMPIDrings.cxx:76
 AliAODHMPIDrings.cxx:77
 AliAODHMPIDrings.cxx:78
 AliAODHMPIDrings.cxx:79
 AliAODHMPIDrings.cxx:80
 AliAODHMPIDrings.cxx:81
 AliAODHMPIDrings.cxx:82
 AliAODHMPIDrings.cxx:83
 AliAODHMPIDrings.cxx:84
 AliAODHMPIDrings.cxx:85
 AliAODHMPIDrings.cxx:86
 AliAODHMPIDrings.cxx:87
 AliAODHMPIDrings.cxx:88
 AliAODHMPIDrings.cxx:89
 AliAODHMPIDrings.cxx:90
 AliAODHMPIDrings.cxx:91
 AliAODHMPIDrings.cxx:92
 AliAODHMPIDrings.cxx:93
 AliAODHMPIDrings.cxx:94
 AliAODHMPIDrings.cxx:95
 AliAODHMPIDrings.cxx:96
 AliAODHMPIDrings.cxx:97
 AliAODHMPIDrings.cxx:98
 AliAODHMPIDrings.cxx:99
 AliAODHMPIDrings.cxx:100
 AliAODHMPIDrings.cxx:101
 AliAODHMPIDrings.cxx:102
 AliAODHMPIDrings.cxx:103
 AliAODHMPIDrings.cxx:104
 AliAODHMPIDrings.cxx:105
 AliAODHMPIDrings.cxx:106
 AliAODHMPIDrings.cxx:107
 AliAODHMPIDrings.cxx:108
 AliAODHMPIDrings.cxx:109
 AliAODHMPIDrings.cxx:110
 AliAODHMPIDrings.cxx:111
 AliAODHMPIDrings.cxx:112
 AliAODHMPIDrings.cxx:113
 AliAODHMPIDrings.cxx:114
 AliAODHMPIDrings.cxx:115
 AliAODHMPIDrings.cxx:116
 AliAODHMPIDrings.cxx:117
 AliAODHMPIDrings.cxx:118
 AliAODHMPIDrings.cxx:119
 AliAODHMPIDrings.cxx:120
 AliAODHMPIDrings.cxx:121
 AliAODHMPIDrings.cxx:122
 AliAODHMPIDrings.cxx:123
 AliAODHMPIDrings.cxx:124
 AliAODHMPIDrings.cxx:125
 AliAODHMPIDrings.cxx:126
 AliAODHMPIDrings.cxx:127
 AliAODHMPIDrings.cxx:128
 AliAODHMPIDrings.cxx:129
 AliAODHMPIDrings.cxx:130
 AliAODHMPIDrings.cxx:131
 AliAODHMPIDrings.cxx:132
 AliAODHMPIDrings.cxx:133
 AliAODHMPIDrings.cxx:134
 AliAODHMPIDrings.cxx:135
 AliAODHMPIDrings.cxx:136
 AliAODHMPIDrings.cxx:137
 AliAODHMPIDrings.cxx:138
 AliAODHMPIDrings.cxx:139
 AliAODHMPIDrings.cxx:140
 AliAODHMPIDrings.cxx:141
 AliAODHMPIDrings.cxx:142
 AliAODHMPIDrings.cxx:143
 AliAODHMPIDrings.cxx:144
 AliAODHMPIDrings.cxx:145
 AliAODHMPIDrings.cxx:146
 AliAODHMPIDrings.cxx:147
 AliAODHMPIDrings.cxx:148
 AliAODHMPIDrings.cxx:149
 AliAODHMPIDrings.cxx:150
 AliAODHMPIDrings.cxx:151
 AliAODHMPIDrings.cxx:152
 AliAODHMPIDrings.cxx:153
 AliAODHMPIDrings.cxx:154
 AliAODHMPIDrings.cxx:155
 AliAODHMPIDrings.cxx:156
 AliAODHMPIDrings.cxx:157
 AliAODHMPIDrings.cxx:158
 AliAODHMPIDrings.cxx:159
 AliAODHMPIDrings.cxx:160
 AliAODHMPIDrings.cxx:161
 AliAODHMPIDrings.cxx:162
 AliAODHMPIDrings.cxx:163
 AliAODHMPIDrings.cxx:164