//-----------------------------------------------------//
#include <Riostream.h>
-#include <TBRIK.h>
-#include <TNode.h>
#include <TTree.h>
-#include <TGeometry.h>
#include <TObjArray.h>
#include <TClonesArray.h>
#include <TFile.h>
for (Int_t track=0; track<ntracks;track++)
{
- gAlice->ResetHits();
+ gAlice->GetMCApp()->ResetHits();
treeH->GetEvent(track);
if (fPMD)
{
}
Int_t igstatus = 0;
//------------------modified by Mriganka ----------------------
+ Int_t trnotemp = trackno;
+
if(ks==1||(imo = mparticle->GetFirstMother())<0 ){
vx = mparticle->Vx();
vy = mparticle->Vy();
if(trackpid==kGamma||trackpid==11||trackpid==-11||
trackpid==kPi0)igstatus=1;
}
-
-
while(((imo = mparticle->GetFirstMother()) >= 0)&&
(ks = mparticle->GetStatusCode() <1) )
{
vx = mparticle->Vx();
vy = mparticle->Vy();
vz = mparticle->Vz();
-
- trackno=imo;
-
+ trnotemp = trackno;
+ if(trackpid == 111)
+ {
+ trackno = trnotemp;
}
-
+ if(trackpid != 111)
+ {
+ trackno = imo;
+ }
+ }
+
if(trackpid==kGamma||trackpid==11||trackpid==-11||
trackpid==kPi0)igstatus=1;
mtrackpid=trackpid;
mtrackno=trackno;
trackpid=trackpidOld;
trackno=tracknoOld;
-
//-----------------end of modification----------------
+
xPos = fPMDHit->X();
yPos = fPMDHit->Y();
zPos = fPMDHit->Z();
for (Int_t track=0; track<ntracks;track++)
{
- gAlice->ResetHits();
+ gAlice->GetMCApp()->ResetHits();
treeH->GetEvent(track);
if (fPMD)
Int_t igstatus = 0;
//-----------------------modified by Mriganka ------------------
+ Int_t trnotemp = trackno;
if(ks==1||(imo = mparticle->GetFirstMother())<0 ){
vx = mparticle->Vx();
vy = mparticle->Vy();
vx = mparticle->Vx();
vy = mparticle->Vy();
vz = mparticle->Vz();
-
- trackno=imo;
-
+ trnotemp = trackno;
+ if(trackpid == 111)
+ {
+ trackno = trnotemp;
}
+ if(trackpid != 111)
+ {
+ trackno = imo;
+ }
+ }
if(trackpid==kGamma||trackpid==11||trackpid==-11||trackpid==kPi0)
igstatus=1;
// Pedestal Decalibration
Int_t pedmeanrms =
fCalibPed->GetPedMeanRms(idet,ism,jrow,kcol);
- Int_t pedrms1 = (Int_t) pedmeanrms%1000;
+ Int_t pedrms1 = (Int_t) pedmeanrms%100;
Float_t pedrms = (Float_t)pedrms1/10.;
Float_t pedmean =
(Float_t) (pedmeanrms - pedrms1)/1000.0;
- //printf("%f %f\n",pedmean, pedrms);
if (adc > 0.)
{
adc += (pedmean + 3.0*pedrms);
MeV2ADC(edep,adc);
-
// To decalibrte the adc values
//
Float_t gain1 = Gain(det,smn,irow,icol);
if (gain1 != 0.)
{
- Int_t adcDecalib = (Int_t)(adc/gain1);
- adc = (Float_t) adcDecalib;
+ Int_t adcDecalib = (Int_t)(adc/gain1);
+ adc = (Float_t) adcDecalib;
}
else if(gain1 == 0.)
{
}
// Pedestal Decalibration
Int_t pedmeanrms = fCalibPed->GetPedMeanRms(det,smn,irow,icol);
- Int_t pedrms1 = (Int_t) pedmeanrms%1000;
+ Int_t pedrms1 = (Int_t) pedmeanrms%100;
Float_t pedrms = (Float_t)pedrms1/10.;
Float_t pedmean = (Float_t) (pedmeanrms - pedrms1)/1000.0;
- //printf("%f %f\n",pedmean, pedrms);
if(adc > 0.)
{
adc += (pedmean + 3.0*pedrms);
// Pedestal Decalibration
Int_t pedmeanrms =
fCalibPed->GetPedMeanRms(idet,ism,jrow,kcol);
- Int_t pedrms1 = (Int_t) pedmeanrms%1000;
+ Int_t pedrms1 = (Int_t) pedmeanrms%100;
Float_t pedrms = (Float_t)pedrms1/10.;
Float_t pedmean =
(Float_t) (pedmeanrms - pedrms1)/1000.0;
- //printf("%f %f\n",pedmean, pedrms);
if (adc > 0.)
{
adc += (pedmean + 3.0*pedrms);
//PS Test in September 2003 and 2006
// KeV - ADC conversion for 12bit ADC
// Modified by Ajay
- const Float_t kConstant = 9.0809;
- const Float_t kErConstant = 1.6763;
- const Float_t kSlope = 128.348;
- const Float_t kErSlope = 0.4703;
+
+ const Float_t kConstant = 0.07;
+ const Float_t kErConstant = 0.1;
+ const Float_t kSlope = 76.0;
+ const Float_t kErSlope = 5.0;
Float_t cons = gRandom->Gaus(kConstant,kErConstant);
Float_t slop = gRandom->Gaus(kSlope,kErSlope);
Float_t adc12bit = slop*mev*0.001 + cons;
+
if(adc12bit < 1600.0)
{
adc = (Float_t) adc12bit;