#include "AliGenReaderEMD.h"
-ClassImp(AliGenReaderEMD);
-
-
- // -----------------------------------------------------------------------------------
-AliGenReaderEMD::AliGenReaderEMD()
+ClassImp(AliGenReaderEMD)
+
+AliGenReaderEMD::AliGenReaderEMD():
+ fStartEvent(0),
+ fNcurrent(0),
+ fNparticle(0),
+ fTreeNtuple(0),
+ fIPSide(0),
+ fPcToTrack(0),
+ fNnLeft(0),
+ fEnLeft(0),
+ fNnRight(0),
+ fEnRight(0),
+ fNpLeft(0),
+ fEtapLeft(0),
+ fNpRight(0),
+ fEtapRight(0)
{
// Default constructor
- fStartEvent = 0;
- fTreeNtuple = 0;
- fIPSide = 0;
- fPcToTrack = 0;
}
+AliGenReaderEMD::AliGenReaderEMD(const AliGenReaderEMD &reader):
+ AliGenReader(reader),
+ fStartEvent(0),
+ fNcurrent(0),
+ fNparticle(0),
+ fTreeNtuple(0),
+ fIPSide(0),
+ fPcToTrack(0),
+ fNnLeft(0),
+ fEnLeft(0),
+ fNnRight(0),
+ fEnRight(0),
+ fNpLeft(0),
+ fEtapLeft(0),
+ fNpRight(0),
+ fEtapRight(0)
+{
+ // Copy Constructor
+ reader.Copy(*this);
+}
// -----------------------------------------------------------------------------------
AliGenReaderEMD::~AliGenReaderEMD()
{
// **** neutrons
Ntu->SetBranchAddress("Nleft",&fNnLeft);
Ntu->SetBranchAddress("Eleft",&fEnLeft);
- Ntu->SetBranchAddress("Pxl", &fPxnLeft);
- Ntu->SetBranchAddress("Pyl", &fPynLeft);
- Ntu->SetBranchAddress("Pzl", &fPznLeft);
+ Ntu->SetBranchAddress("Pxl", fPxnLeft);
+ Ntu->SetBranchAddress("Pyl", fPynLeft);
+ Ntu->SetBranchAddress("Pzl", fPznLeft);
Ntu->SetBranchAddress("Nright",&fNnRight);
Ntu->SetBranchAddress("Eright",&fEnRight);
- Ntu->SetBranchAddress("Pxr", &fPxnRight);
- Ntu->SetBranchAddress("Pyr", &fPynRight);
- Ntu->SetBranchAddress("Pzr", &fPznRight);
+ Ntu->SetBranchAddress("Pxr", fPxnRight);
+ Ntu->SetBranchAddress("Pyr", fPynRight);
+ Ntu->SetBranchAddress("Pzr", fPznRight);
// **** protons
Ntu->SetBranchAddress("Nleft_p",&fNpLeft);
Ntu->SetBranchAddress("Etaleft_p",&fEtapLeft);
- Ntu->SetBranchAddress("Pxl_p", &fPxpLeft);
- Ntu->SetBranchAddress("Pyl_p", &fPypLeft);
- Ntu->SetBranchAddress("Pzl_p", &fPzpLeft);
+ Ntu->SetBranchAddress("Pxl_p", fPxpLeft);
+ Ntu->SetBranchAddress("Pyl_p", fPypLeft);
+ Ntu->SetBranchAddress("Pzl_p", fPzpLeft);
Ntu->SetBranchAddress("Nright_p",&fNpRight);
Ntu->SetBranchAddress("Etaright_p",&fEtapRight);
- Ntu->SetBranchAddress("Pxr_p", &fPxpRight);
- Ntu->SetBranchAddress("Pyr_p", &fPypRight);
- Ntu->SetBranchAddress("Pzr_p", &fPzpRight);
+ Ntu->SetBranchAddress("Pxr_p", fPxpRight);
+ Ntu->SetBranchAddress("Pyr_p", fPypRight);
+ Ntu->SetBranchAddress("Pzr_p", fPzpRight);
}
// -----------------------------------------------------------------------------------
// #### fPcToTrack =0->neutrons, =1->protons
if(fIPSide==0){
if(fPcToTrack==0){
- printf("\n \t \t Tracking %d neutrons emitted on RIGHT side\n\n", fNnRight);
+ printf("\n \t \t Tracking %d neutrons emitted on C side\n\n", fNnRight);
nTracks = fNnRight;
}
else if(fPcToTrack==1){
- printf("\n \t \t Tracking %d protons emitted on RIGHT side\n\n", fNpRight);
+ printf("\n \t \t Tracking %d protons emitted on C side\n\n", fNpRight);
nTracks = fNpRight;
}
}
else if(fIPSide==1){
if(fPcToTrack==0){
- printf("\n \t \t Tracking %d neutrons emitted on LEFT side\n", fNnLeft);
+ printf("\n \t \t Tracking %d neutrons emitted on A side\n", fNnLeft);
nTracks = fNnLeft;
}
else if(fPcToTrack==1){
- printf("\n \t \t Tracking %d protons emitted on LEFT side\n", fNpLeft);
+ printf("\n \t \t Tracking %d protons emitted on A side\n", fNpLeft);
nTracks = fNpLeft;
}
}
{
// Read the next particle
Float_t p[4];
- Int_t ipart = kNeutron;
- Double_t amass = TDatabasePDG::Instance()->GetParticle(kNeutron)->Mass();
+
+ Int_t ipart=0;
+ if(fPcToTrack==0) ipart = kNeutron;
+ else if(fPcToTrack==1) ipart = kProton;
+ Double_t amass = TDatabasePDG::Instance()->GetParticle(ipart)->Mass();
+
p[0] = fPxnRight[fNparticle];
p[1] = fPynRight[fNparticle];
p[2] = fPznRight[fNparticle];