Float_t *weight = & (fTPCParam->GetResWeight(0));
if (n>0) for (Int_t i =0; i<n; i++){
- Int_t pad=index[1]+centralPad; //in digit coordinates central pad has coordinate 0
+ //Int_t pad=index[1]+centralPad; //in digit coordinates central pad has coordinate 0
+ Int_t pad = (xyz[1]>0.) ? index[1]+centralPad : index[1]+centralPad -1; //corr M.K.
+ pad = (xyz[2]>0.) ? pad : 2*centralPad-pad-1; // corr M.K.
+
if (pad>=0){
Int_t time=index[2];
// calculate central padrow, pad, time
Int_t npads = GetNPads(index[1],index[3]-1);
Int_t cpadrow = index[2]; // electrons are here
- Int_t cpad = TMath::Nint(xyz[1]);
+ Int_t cpad = (Int_t)xyz[1]; // correction MK
Int_t ctime = TMath::Nint(xyz[2]+zoffset2+xyz[3]-GetNTBinsL1());
//calulate deviation
Float_t dpadrow = xyz[0];
lpadrow = (index[2]<GetNRow(index[1])-1) ? 1:0;
}
- Int_t fpad = (cpad > -npads/2+1) ? -2: -npads/2-cpad;
- Int_t lpad = (cpad < npads/2-2) ? 2: npads/2-1-cpad;
+ Int_t fpad = (cpad > -npads/2+2) ? -2: -npads/2-cpad+1; // correction MK
+ Int_t lpad = (cpad < npads/2-2) ? 2: npads/2-1-cpad; // correction MK
Int_t ftime = (ctime>1) ? -2: -ctime;
Int_t ltime = (ctime<maxt-2) ? 2: maxt-ctime-1;
Float_t cweight2 = cweight*rftime[atime];
if (cweight2>fResponseThreshold) {
fResponseBin[cindex3++]=cpadrow+ipadrow;
- fResponseBin[cindex3++]=cpad+ipad;
+ fResponseBin[cindex3++]=cpad+ipad; //correction MK
fResponseBin[cindex3++]=ctime+itime;
fResponseWeight[cindex++]=cweight2;
}
fCtgRange(1.05),
fMaxSnpTracker(0.95),
fMaxSnpTrack(0.999),
- fBYMirror(kTRUE),
fDumpSignal(kFALSE),
fFirstBin(0),
fLastBin(-1),
param->fLastBin = 1000;
param->fMaxSnpTracker = 0.9;
param->fMaxC = 0.06;
- param->fBYMirror = kFALSE;
//
param->SetName("Hlt Param");
param->SetTitle("Hlt Param");
param->fMaxSnpTracker = 0.98;
param->fMaxC = 0.02;
param->fBSpecialSeeding = kTRUE;
- param->fBYMirror = kFALSE;
//
//
param->SetName("Laser Flux");
param->fBSpecialSeeding = kTRUE;
param->fMaxC = 0.07;
param->fBKinkFinder = kFALSE;
- param->fBYMirror = kFALSE;
param->SetName("Cosmic Flux");
param->SetTitle("Cosmic Flux");
Bool_t GetDoKinks() const { return fBKinkFinder;}
Float_t GetMaxC() const { return fMaxC;}
Bool_t GetSpecialSeeding() const { return fBSpecialSeeding;}
- Bool_t GetBYMirror() const { return fBYMirror;}
- void SetBYMirror(Bool_t mirror) { fBYMirror = mirror;} //
//
void SetSystematicError(Double_t *systematic){ for (Int_t i=0; i<5;i++) fSystematicErrors[i]=systematic[i];}
const Double_t * GetSystematicError() const { return fSystematicErrors;}
Double_t fCtgRange; // +-fCtgRange is the ctg(Theta) window used for clusterization and tracking (MI)
Double_t fMaxSnpTracker; // max sin of local angle - for TPC tracker
Double_t fMaxSnpTrack; // max sin of local angle - for track
- Bool_t fBYMirror; // mirror of the y - pad coordinate
//
// clusterer parameters
//
// misscalibration
//
Double_t fSystematicErrors[5]; //systematic errors in the track parameters - to be added to TPC covariance matrix
- ClassDef(AliTPCRecoParam, 3)
+ ClassDef(AliTPCRecoParam, 4)
};
c.SetZ(x[2]);
//
//
- if (!fRecoParam->GetBYMirror()){
- if (fSector%36>17){
- c.SetY(-c.GetY());
- }
+ if (fSector%36>17){
+ c.SetY(-c.GetY());
}
if (ki<=1 || ki>=fMaxPad-1 || kj==1 || kj==fMaxTime-2) {
Double_t x[3]={cluster->GetRow(),cluster->GetPad(),cluster->GetTimeBin()};
Int_t i[1]={cluster->GetDetector()};
transform->Transform(x,i,0,1);
- if (!AliTPCReconstructor::GetRecoParam()->GetBYMirror()){
- if (cluster->GetDetector()%36>17){
- x[1]*=-1;
- }
+ if (cluster->GetDetector()%36>17){
+ x[1]*=-1;
}
//