using namespace std;
AliTPCcalibAlign* AliTPCcalibAlign::fgInstance = 0;
+Double_t AliTPCcalibAlign::fgkMergeEntriesCut=10000000.; //10**7 tracks
ClassImp(AliTPCcalibAlign)
fClusterDelta[i]->Add(align->fClusterDelta[i]);
}
}
+
for (Int_t i=0; i<4; i++){
if (!fTrackletDelta[i] && align->fTrackletDelta[i]) {
continue;
}
if (align->fTrackletDelta[i]) {
- fTrackletDelta[i]->Add(align->fTrackletDelta[i]);
+ if (fTrackletDelta[i]->GetEntries()<fgkMergeEntriesCut){
+ fTrackletDelta[i]->Add(align->fTrackletDelta[i]);
+ }
}
}
AliExternalTrackParam *tp2,
Int_t s1,Int_t s2);
+ static void SetMergeEntriesCut(Double_t entriesCut){fgkMergeEntriesCut = entriesCut;}
protected:
THn *fClusterDelta[2]; //clusters residuals
THnSparse *fTrackletDelta[4]; //track residuals
Bool_t fUseInnerOuter; // flag- use Inner Outer sector for left righ alignment
static AliTPCcalibAlign* fgInstance; //! Instance of this class (singleton implementation)
+ static Double_t fgkMergeEntriesCut; //maximal number of entries for merging -can be modified via setter
private:
AliTPCcalibAlign& operator=(const AliTPCcalibAlign&);// not implemented
#include "TRandom.h"
+Double_t AliTPCcalibTracks::fgkMergeEntriesCut=10000000.; //10**7 clusters
ClassImp(AliTPCcalibTracks)
//
Double_t scalept= TMath::Min(1./TMath::Abs(track->GetParameter()[4]),2.)/0.5;
Bool_t isSelected = (TMath::Exp(scalept)>fPtDownscaleRatio*gRandom->Rndm());
- if (isSelected) return;
+ if (!isSelected) return;
if (GetDebugLevel() > 5) Info("Process","Starting to process the track...");
Int_t accpetStatus = AcceptTrack(track);
//
// Fill THN histograms
//
- Double_t scaleQ= TMath::Min(Double_t(cluster0->GetMax()),200.)/50.;
+ Double_t scaleQ= TMath::Min(Double_t(cluster0->GetMax()),200.)/30.;
Bool_t isSelected = (TMath::Exp(scaleQ)>fQDownscaleRatio*gRandom->Rndm());
-
+ if (!isSelected) continue;
Double_t xvar[9];
xvar[1]=padSize; // pad type
xvar[2]=cluster0->GetZ(); //
//
// Add histograms
//
+ if (!calib->fHisDeltaY) return;
+ if (calib->fHisDeltaY->GetEntries()> fgkMergeEntriesCut) return;
if (calib->fHisDeltaY) fHisDeltaY->Add(calib->fHisDeltaY);
if (calib->fHisDeltaZ) fHisDeltaZ->Add(calib->fHisDeltaZ);
if (calib->fHisRMSY) fHisRMSY->Add(calib->fHisRMSY);
static int CreateWaveCorrection( const THnBase *DeltaY, THnBase *&MeanY, THnBase *&SigmaY, THnBase *&EntrY,
Bool_t MirrorZ=1, Bool_t MirrorPad=1, Bool_t MirrorAngle=1, Int_t MinStat=10 );
+ static void SetMergeEntriesCut(Double_t entriesCut){fgkMergeEntriesCut = entriesCut;}
+
protected:
private:
TH2I *fClusterCutHisto; // histogram showing in which padRow the clusters were cutted by which criterium
AliTPCCalPad *fCalPadClusterPerPad; // AliTPCCalPad showing the number of clusters per Pad
AliTPCCalPad *fCalPadClusterPerPadRaw; // AliTPCCalPad showing the number of clusters per Pad before cuts on clusters are applied
- ClassDef(AliTPCcalibTracks,2)
+ static Double_t fgkMergeEntriesCut;//maximal number of entries for merging -can be modified via setter
+
+ ClassDef(AliTPCcalibTracks,2)
};