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

// Comment describing what this class does needed!

// $Id: AliJPhoton.cxx,v 1.4 2008/05/08 13:44:45 djkim Exp $

////////////////////////////////////////////////////
/*!
  \file AliJPhoton.cxx
  \brief
  \author J. Rak, D.J.Kim, R.Diaz (University of Jyvaskyla)
  \email: djkim@jyu.fi
  \version $Revision: 1.4 $
  \date $Date: 2008/05/08 13:44:45 $
  */
////////////////////////////////////////////////////

#include "AliJBaseTrack.h"
#include "AliJPhoton.h"
#include <TF1.h>

ClassImp(AliJPhoton);
//______________________________________________________________________________
AliJPhoton::AliJPhoton() : 
    AliJBaseTrack(),
    fChi2(-999),              
    fTof(-999),                   
    fX(-999),               
    fY(-999),                  
    fZ(-999),
    fProbPhot(-999), 
    fTrackDx(-1), 
    fTrackDz(-1), 
  fCaloType(kUndef),
  fDistToBadChannel(-999),
  fDispersion(-999),
  fM20(-999),
  fM02(-999),
  fEmcCpvDist(-999),
  fNCells(-999),
  fNTracksMatched(-999),
  fSuperModuleId(-999),
  fCellsAbsId(0x0),
  fCellsAmpFraction(0x0),
  fNEMCLabel(0),
  fEMCLabel(0x0),
  fEMax(-999),
  fECross(-999),
  fECore(-999),
  fNLM(-999),
  fCellsIndex(0x0)
//  fCellsAmp(0x0)

{
  // default constructor
  for(Int_t i=0;i<kUnknownAli+1;i++) fCaloPID[i]=-1;

  SetPID((Double_t*)NULL);
}

//_____________________________________________________________________________
AliJPhoton::AliJPhoton(const AliJPhoton& a) : 
    AliJBaseTrack(a),
    fChi2(a.fChi2),
    fTof(a.fTof),
    fX(a.fX),
    fY(a.fY),
    fZ(a.fZ),
    fProbPhot(a.fProbPhot), 
    fTrackDx(a.fTrackDx), 
    fTrackDz(a.fTrackDz), 
  fCaloType(a.fCaloType),
  fDistToBadChannel(a.fDistToBadChannel),
  fDispersion(a.fDispersion),
  fM20(a.fM20),
  fM02(a.fM02),
  fEmcCpvDist(a.fEmcCpvDist),
  fNCells(a.fNCells),
  fNTracksMatched(a.fNTracksMatched),
  fSuperModuleId(a.fSuperModuleId),
  fCellsAbsId(NULL),
  fCellsAmpFraction(NULL),
  fNEMCLabel(a.fNEMCLabel),
  fEMCLabel(NULL),
  fEMax(a.fEMax),
  fECross(a.fECross),
  fECore(a.fECore),
  fNLM(a.fNLM),
  fCellsIndex(NULL)
//  fCellsAmp(NULL)

{
  //copy constructor
  for(Int_t i=0;i<kUnknownAli+1;i++) fCaloPID[i] = a.fCaloPID[i];
  SetCellsAbsId( a.fCellsAbsId );
  SetCellsAmplitudeFraction( a.fCellsAmpFraction );
  SetCellsIndex( a.fCellsIndex );
	SetEMCLabel( a.fEMCLabel );
//  SetCellsAmplitude( a.fCellsAmp );
}


//_____________________________________________________________________________
AliJPhoton::~AliJPhoton(){
  // destructor
  Clear("");
}

//_____________________________________________________________________________
void AliJPhoton::Clear( Option_t * /* option */ ){
  // cleaner
    if(fCellsAbsId)       delete [] fCellsAbsId;
    if(fCellsAmpFraction) delete [] fCellsAmpFraction;
    if( fEMCLabel )       delete [] fEMCLabel;
    if( fCellsIndex )     delete [] fCellsIndex;
    fCellsAbsId = 0;
    fCellsAmpFraction = 0;
		fEMCLabel = 0;
    fCellsIndex = 0;
//    if(fCellsAmp)         delete [] fCellsAmp;
}

//_____________________________________________________________________________
AliJPhoton& AliJPhoton::operator=(const AliJPhoton& photon){
  //operator=    
  if(this != &photon){
    AliJBaseTrack::operator=(photon);
    fChi2 = photon.fChi2;
    fTof  = photon.fTof;
    fX    = photon.fX;
    fY    = photon.fY;
    fZ    = photon.fZ;
    fProbPhot = photon.fProbPhot;
    fTrackDx  = photon.fTrackDx;
    fTrackDz  = photon.fTrackDz;
    fCaloType = photon.fCaloType;
    for(Int_t i=0; i<kUnknownAli+1; i++){
      fCaloPID[i] = photon.fCaloPID[i];
    }
    fDistToBadChannel = photon.fDistToBadChannel;
    fDispersion    = photon.fDispersion;
    fM20           = photon.fM20;
    fM02           = photon.fM02;
    fEmcCpvDist    = photon.fEmcCpvDist;
    fNCells        = photon.fNCells;
    fNTracksMatched = photon.fNTracksMatched;
    fSuperModuleId =  photon.fSuperModuleId;
    SetCellsAbsId( photon.fCellsAbsId );
    SetCellsAmplitudeFraction( photon.fCellsAmpFraction );
    SetEMCLabel( photon.fEMCLabel );
//    SetCellsAmplitude( photon.fCellsAmp );
    fEMax = photon.fEMax;
    fECross = photon.fECross;
    fECore = photon.fECore;
    fNLM  = photon.fNLM;
    SetCellsIndex( photon.fCellsIndex );

  }

  return *this;
}
//______________________________________________________________________________
void  AliJPhoton::SetCellsAbsId(const UShort_t *array)
{
    //  Set the array of cell absId numbers 
    if (fNCells) {
        if(fCellsAbsId){ delete [] fCellsAbsId; fCellsAbsId = NULL; }
  fCellsAbsId = new  UShort_t[fNCells];
  for (Int_t i = 0; i < fNCells; i++) fCellsAbsId[i] = array[i];
    }
}

//_______________________________________________________________________
void  AliJPhoton::SetCellsAmplitudeFraction(const Double32_t *array)
{
    //  Set the array of cell amplitude fraction
    if (fNCells) {
  if(fCellsAmpFraction){ delete [] fCellsAmpFraction; fCellsAmpFraction = NULL;}
  fCellsAmpFraction = new  Double32_t[fNCells];
  for (Int_t i = 0; i < fNCells; i++) fCellsAmpFraction[i] = array[i];
    }
}

//______________________________________________________________________________
void  AliJPhoton::SetEMCLabel(const Int_t *array)
{
    //  Set the array of cell absId numbers 
    if (fNEMCLabel) {
        if(fEMCLabel){ delete [] fEMCLabel; fEMCLabel = NULL; }
  fEMCLabel = new  Int_t[fNEMCLabel];
  for (Int_t i = 0; i < fNEMCLabel; i++) fEMCLabel[i] = array[i];
    }
}

//______________________________________________________________________________
void  AliJPhoton::SetCellsIndex(const Int_t *array)
{
  //  Set the array of cell absId numbers 
  if( !array ){
    if( fCellsIndex ){
      delete [] fCellsIndex;
      fCellsIndex = NULL;
    }
  }
  else if (fNCells) {
    if( fCellsIndex ){
      delete [] fCellsIndex;
      fCellsIndex = NULL;
    }
    
    fCellsIndex = new  Int_t[fNCells];
    for (Int_t i = 0; i < fNCells; i++)
      fCellsIndex[i] = array[i];
  }
}

//______________________________________________________________________________
void  AliJPhoton::SetCellIndex(const Int_t pos, const Int_t ind)
{
  //  Set the array of cell absId numbers 

  Int_t i;
  if (fNCells) {
    if( ! fCellsIndex ){
      fCellsIndex = new  Int_t[fNCells];
      for( i = 0; i < fNCells; i++ )
        fCellsIndex[i] = -1;
    }
  }
  
  fCellsIndex[pos] = ind;
}

//______________________________________________________________________________
void  AliJPhoton::ClearCellsIndex()
{
  //  Clears the array of cell absId numbers 
  if(fCellsIndex){
    delete [] fCellsIndex;
    fCellsIndex = NULL;
  }
}

// //_______________________________________________________________________
// void  AliJPhoton::SetCellsAmplitude(const Double32_t *array)
// {
//     //  Set the array of cell amplitude fraction
//     if (fNCells) {
//   if(fCellsAmp){ delete [] fCellsAmp; fCellsAmp = NULL;}
//   fCellsAmp = new  Double_t[fNCells];
//   for (Int_t i = 0; i < fNCells; i++) fCellsAmp[i] = array[i];
//     }
// }

//______________________________________________________________________________
void  AliJPhoton::SetPID(const Double32_t *pid) {
   //set pid
    if(pid){
       for(Int_t i=0; i<kUnknownAli; ++i) fCaloPID[i]=pid[i];
       SetProbPhot(fCaloPID[kPhotonAli]);
    }else{
      for(Int_t i=0; i<kUnknownAli; fCaloPID[i++]=0.){} 
      fCaloPID[kUnknownAli]=1.;
    }
}


//______________________________________________________________________________
particleType AliJPhoton::GetParticleType() {

    // return the most problable particle type
    // Note: following the AliCaloPID implementation 
    
    //Init default weights 
    Float_t wPhoton = 0.75 ;
    Float_t wPi0 = 0.8 ;
    Float_t wElectron = 0.5 ;
    Float_t wCharged = 0.5 ;
    Float_t wNeutral = 0.5 ;

    Bool_t usePHOSweightFormula = kTRUE;
    //Formula to set the PID weight threshold for photon or pizero
    // ALICE-INT-2005-016 (2007)
    TFormula* wPhotonPHOSFormula = 
    new TFormula("photonWeight","0.75*(x<40)+ 0.68*(x>=100)+(x>=40 && x<100)*(0.98+x*(6e-3)-x*x*(2e-04)+x*x*x*(1.1e-06))");
    TFormula* wPi0PHOSFormula = 
    new TFormula("pi0Weight","0.80*(x<65)+ 0.915*(x>=100)+(x>=65 && x-x*(1.95e-3)-x*x*(4.31e-05)+x*x*x*(3.61e-07))");

    if(fCaloType == kPHOSCalo && usePHOSweightFormula){
       wPhoton  = wPhotonPHOSFormula->Eval(E()) ;
       wPi0 = wPi0PHOSFormula->Eval(E());
      // cout << "wPhotonF " << wPhoton << " wphoton " << fCaloPID[kPhotonAli] << " wPi0F " << wPi0 << " wpi0 " << fCaloPID[kPi0Ali] << endl;
    }
    
    if(fCaloType == kEMCALCalo){
       wPhoton   =  0.8 ;
       wPi0      =  0.5 ;
       wElectron =  0.8 ;
       wCharged  =  0.5 ;
       wNeutral  =  0.5 ;
    }
    
  
   particleType pdg = kJHadron;

  //Select most probable ID
  if(fCaloType == kPHOSCalo){
    if(fCaloPID[kPhotonAli] > wPhoton) pdg = kJPhoton ;
    else if(fCaloPID[kPi0Ali] > wPi0) pdg = kJPizero ; 
    //else if(fCaloPID[kElectronAli] > wElectron)  pdg = electron ;
    //else if(fCaloPID[kEleConAli] >  wElectron) pdg = electronCon ;
    //else if(chargedHadronWeight > wCharged) pdg = chargedHadron ;  
    //else if(neutralHadronWeight > wNeutral) pdg = neutralHadron ; 
    //else if(allChargedWeight >  allNeutralWeight)
    // pdg = chargedUnknown ; 
    //else 
    //  pdg = neutralUnknown ;
  }
  else{//EMCAL
    //Temporal solution, electrons and photons not differenciated
    if(fCaloPID[kPhotonAli] + fCaloPID[kElectronAli]  > wPhoton) pdg = kJPhoton ;
    else if(fCaloPID[kPi0Ali] > wPi0) pdg = kJPizero ; 
    //else if(chargedHadronWeight + neutralHadronWeight > wCharged) pdg = chargedHadron ;  
    //else if(neutralHadronWeight + chargedHadronWeight > wNeutral) pdg = neutralHadron ; 
    //else pdg =  neutralUnknown ;

  }
  
  delete wPhotonPHOSFormula;
  delete wPi0PHOSFormula;
  
  //if(fCaloType == kPHOSCalo) cout << "pdg " << pdg << endl;
  
  return pdg ;

}


 AliJPhoton.cxx:1
 AliJPhoton.cxx:2
 AliJPhoton.cxx:3
 AliJPhoton.cxx:4
 AliJPhoton.cxx:5
 AliJPhoton.cxx:6
 AliJPhoton.cxx:7
 AliJPhoton.cxx:8
 AliJPhoton.cxx:9
 AliJPhoton.cxx:10
 AliJPhoton.cxx:11
 AliJPhoton.cxx:12
 AliJPhoton.cxx:13
 AliJPhoton.cxx:14
 AliJPhoton.cxx:15
 AliJPhoton.cxx:16
 AliJPhoton.cxx:17
 AliJPhoton.cxx:18
 AliJPhoton.cxx:19
 AliJPhoton.cxx:20
 AliJPhoton.cxx:21
 AliJPhoton.cxx:22
 AliJPhoton.cxx:23
 AliJPhoton.cxx:24
 AliJPhoton.cxx:25
 AliJPhoton.cxx:26
 AliJPhoton.cxx:27
 AliJPhoton.cxx:28
 AliJPhoton.cxx:29
 AliJPhoton.cxx:30
 AliJPhoton.cxx:31
 AliJPhoton.cxx:32
 AliJPhoton.cxx:33
 AliJPhoton.cxx:34
 AliJPhoton.cxx:35
 AliJPhoton.cxx:36
 AliJPhoton.cxx:37
 AliJPhoton.cxx:38
 AliJPhoton.cxx:39
 AliJPhoton.cxx:40
 AliJPhoton.cxx:41
 AliJPhoton.cxx:42
 AliJPhoton.cxx:43
 AliJPhoton.cxx:44
 AliJPhoton.cxx:45
 AliJPhoton.cxx:46
 AliJPhoton.cxx:47
 AliJPhoton.cxx:48
 AliJPhoton.cxx:49
 AliJPhoton.cxx:50
 AliJPhoton.cxx:51
 AliJPhoton.cxx:52
 AliJPhoton.cxx:53
 AliJPhoton.cxx:54
 AliJPhoton.cxx:55
 AliJPhoton.cxx:56
 AliJPhoton.cxx:57
 AliJPhoton.cxx:58
 AliJPhoton.cxx:59
 AliJPhoton.cxx:60
 AliJPhoton.cxx:61
 AliJPhoton.cxx:62
 AliJPhoton.cxx:63
 AliJPhoton.cxx:64
 AliJPhoton.cxx:65
 AliJPhoton.cxx:66
 AliJPhoton.cxx:67
 AliJPhoton.cxx:68
 AliJPhoton.cxx:69
 AliJPhoton.cxx:70
 AliJPhoton.cxx:71
 AliJPhoton.cxx:72
 AliJPhoton.cxx:73
 AliJPhoton.cxx:74
 AliJPhoton.cxx:75
 AliJPhoton.cxx:76
 AliJPhoton.cxx:77
 AliJPhoton.cxx:78
 AliJPhoton.cxx:79
 AliJPhoton.cxx:80
 AliJPhoton.cxx:81
 AliJPhoton.cxx:82
 AliJPhoton.cxx:83
 AliJPhoton.cxx:84
 AliJPhoton.cxx:85
 AliJPhoton.cxx:86
 AliJPhoton.cxx:87
 AliJPhoton.cxx:88
 AliJPhoton.cxx:89
 AliJPhoton.cxx:90
 AliJPhoton.cxx:91
 AliJPhoton.cxx:92
 AliJPhoton.cxx:93
 AliJPhoton.cxx:94
 AliJPhoton.cxx:95
 AliJPhoton.cxx:96
 AliJPhoton.cxx:97
 AliJPhoton.cxx:98
 AliJPhoton.cxx:99
 AliJPhoton.cxx:100
 AliJPhoton.cxx:101
 AliJPhoton.cxx:102
 AliJPhoton.cxx:103
 AliJPhoton.cxx:104
 AliJPhoton.cxx:105
 AliJPhoton.cxx:106
 AliJPhoton.cxx:107
 AliJPhoton.cxx:108
 AliJPhoton.cxx:109
 AliJPhoton.cxx:110
 AliJPhoton.cxx:111
 AliJPhoton.cxx:112
 AliJPhoton.cxx:113
 AliJPhoton.cxx:114
 AliJPhoton.cxx:115
 AliJPhoton.cxx:116
 AliJPhoton.cxx:117
 AliJPhoton.cxx:118
 AliJPhoton.cxx:119
 AliJPhoton.cxx:120
 AliJPhoton.cxx:121
 AliJPhoton.cxx:122
 AliJPhoton.cxx:123
 AliJPhoton.cxx:124
 AliJPhoton.cxx:125
 AliJPhoton.cxx:126
 AliJPhoton.cxx:127
 AliJPhoton.cxx:128
 AliJPhoton.cxx:129
 AliJPhoton.cxx:130
 AliJPhoton.cxx:131
 AliJPhoton.cxx:132
 AliJPhoton.cxx:133
 AliJPhoton.cxx:134
 AliJPhoton.cxx:135
 AliJPhoton.cxx:136
 AliJPhoton.cxx:137
 AliJPhoton.cxx:138
 AliJPhoton.cxx:139
 AliJPhoton.cxx:140
 AliJPhoton.cxx:141
 AliJPhoton.cxx:142
 AliJPhoton.cxx:143
 AliJPhoton.cxx:144
 AliJPhoton.cxx:145
 AliJPhoton.cxx:146
 AliJPhoton.cxx:147
 AliJPhoton.cxx:148
 AliJPhoton.cxx:149
 AliJPhoton.cxx:150
 AliJPhoton.cxx:151
 AliJPhoton.cxx:152
 AliJPhoton.cxx:153
 AliJPhoton.cxx:154
 AliJPhoton.cxx:155
 AliJPhoton.cxx:156
 AliJPhoton.cxx:157
 AliJPhoton.cxx:158
 AliJPhoton.cxx:159
 AliJPhoton.cxx:160
 AliJPhoton.cxx:161
 AliJPhoton.cxx:162
 AliJPhoton.cxx:163
 AliJPhoton.cxx:164
 AliJPhoton.cxx:165
 AliJPhoton.cxx:166
 AliJPhoton.cxx:167
 AliJPhoton.cxx:168
 AliJPhoton.cxx:169
 AliJPhoton.cxx:170
 AliJPhoton.cxx:171
 AliJPhoton.cxx:172
 AliJPhoton.cxx:173
 AliJPhoton.cxx:174
 AliJPhoton.cxx:175
 AliJPhoton.cxx:176
 AliJPhoton.cxx:177
 AliJPhoton.cxx:178
 AliJPhoton.cxx:179
 AliJPhoton.cxx:180
 AliJPhoton.cxx:181
 AliJPhoton.cxx:182
 AliJPhoton.cxx:183
 AliJPhoton.cxx:184
 AliJPhoton.cxx:185
 AliJPhoton.cxx:186
 AliJPhoton.cxx:187
 AliJPhoton.cxx:188
 AliJPhoton.cxx:189
 AliJPhoton.cxx:190
 AliJPhoton.cxx:191
 AliJPhoton.cxx:192
 AliJPhoton.cxx:193
 AliJPhoton.cxx:194
 AliJPhoton.cxx:195
 AliJPhoton.cxx:196
 AliJPhoton.cxx:197
 AliJPhoton.cxx:198
 AliJPhoton.cxx:199
 AliJPhoton.cxx:200
 AliJPhoton.cxx:201
 AliJPhoton.cxx:202
 AliJPhoton.cxx:203
 AliJPhoton.cxx:204
 AliJPhoton.cxx:205
 AliJPhoton.cxx:206
 AliJPhoton.cxx:207
 AliJPhoton.cxx:208
 AliJPhoton.cxx:209
 AliJPhoton.cxx:210
 AliJPhoton.cxx:211
 AliJPhoton.cxx:212
 AliJPhoton.cxx:213
 AliJPhoton.cxx:214
 AliJPhoton.cxx:215
 AliJPhoton.cxx:216
 AliJPhoton.cxx:217
 AliJPhoton.cxx:218
 AliJPhoton.cxx:219
 AliJPhoton.cxx:220
 AliJPhoton.cxx:221
 AliJPhoton.cxx:222
 AliJPhoton.cxx:223
 AliJPhoton.cxx:224
 AliJPhoton.cxx:225
 AliJPhoton.cxx:226
 AliJPhoton.cxx:227
 AliJPhoton.cxx:228
 AliJPhoton.cxx:229
 AliJPhoton.cxx:230
 AliJPhoton.cxx:231
 AliJPhoton.cxx:232
 AliJPhoton.cxx:233
 AliJPhoton.cxx:234
 AliJPhoton.cxx:235
 AliJPhoton.cxx:236
 AliJPhoton.cxx:237
 AliJPhoton.cxx:238
 AliJPhoton.cxx:239
 AliJPhoton.cxx:240
 AliJPhoton.cxx:241
 AliJPhoton.cxx:242
 AliJPhoton.cxx:243
 AliJPhoton.cxx:244
 AliJPhoton.cxx:245
 AliJPhoton.cxx:246
 AliJPhoton.cxx:247
 AliJPhoton.cxx:248
 AliJPhoton.cxx:249
 AliJPhoton.cxx:250
 AliJPhoton.cxx:251
 AliJPhoton.cxx:252
 AliJPhoton.cxx:253
 AliJPhoton.cxx:254
 AliJPhoton.cxx:255
 AliJPhoton.cxx:256
 AliJPhoton.cxx:257
 AliJPhoton.cxx:258
 AliJPhoton.cxx:259
 AliJPhoton.cxx:260
 AliJPhoton.cxx:261
 AliJPhoton.cxx:262
 AliJPhoton.cxx:263
 AliJPhoton.cxx:264
 AliJPhoton.cxx:265
 AliJPhoton.cxx:266
 AliJPhoton.cxx:267
 AliJPhoton.cxx:268
 AliJPhoton.cxx:269
 AliJPhoton.cxx:270
 AliJPhoton.cxx:271
 AliJPhoton.cxx:272
 AliJPhoton.cxx:273
 AliJPhoton.cxx:274
 AliJPhoton.cxx:275
 AliJPhoton.cxx:276
 AliJPhoton.cxx:277
 AliJPhoton.cxx:278
 AliJPhoton.cxx:279
 AliJPhoton.cxx:280
 AliJPhoton.cxx:281
 AliJPhoton.cxx:282
 AliJPhoton.cxx:283
 AliJPhoton.cxx:284
 AliJPhoton.cxx:285
 AliJPhoton.cxx:286
 AliJPhoton.cxx:287
 AliJPhoton.cxx:288
 AliJPhoton.cxx:289
 AliJPhoton.cxx:290
 AliJPhoton.cxx:291
 AliJPhoton.cxx:292
 AliJPhoton.cxx:293
 AliJPhoton.cxx:294
 AliJPhoton.cxx:295
 AliJPhoton.cxx:296
 AliJPhoton.cxx:297
 AliJPhoton.cxx:298
 AliJPhoton.cxx:299
 AliJPhoton.cxx:300
 AliJPhoton.cxx:301
 AliJPhoton.cxx:302
 AliJPhoton.cxx:303
 AliJPhoton.cxx:304
 AliJPhoton.cxx:305
 AliJPhoton.cxx:306
 AliJPhoton.cxx:307
 AliJPhoton.cxx:308
 AliJPhoton.cxx:309
 AliJPhoton.cxx:310
 AliJPhoton.cxx:311
 AliJPhoton.cxx:312
 AliJPhoton.cxx:313
 AliJPhoton.cxx:314
 AliJPhoton.cxx:315
 AliJPhoton.cxx:316
 AliJPhoton.cxx:317
 AliJPhoton.cxx:318
 AliJPhoton.cxx:319
 AliJPhoton.cxx:320
 AliJPhoton.cxx:321
 AliJPhoton.cxx:322
 AliJPhoton.cxx:323
 AliJPhoton.cxx:324
 AliJPhoton.cxx:325
 AliJPhoton.cxx:326
 AliJPhoton.cxx:327
 AliJPhoton.cxx:328
 AliJPhoton.cxx:329
 AliJPhoton.cxx:330
 AliJPhoton.cxx:331
 AliJPhoton.cxx:332
 AliJPhoton.cxx:333
 AliJPhoton.cxx:334
 AliJPhoton.cxx:335
 AliJPhoton.cxx:336
 AliJPhoton.cxx:337
 AliJPhoton.cxx:338
 AliJPhoton.cxx:339
 AliJPhoton.cxx:340
 AliJPhoton.cxx:341
 AliJPhoton.cxx:342
 AliJPhoton.cxx:343
 AliJPhoton.cxx:344
 AliJPhoton.cxx:345
 AliJPhoton.cxx:346
 AliJPhoton.cxx:347
 AliJPhoton.cxx:348
 AliJPhoton.cxx:349
 AliJPhoton.cxx:350
 AliJPhoton.cxx:351