]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
For the THnSparse data members limit the statistic in the merging
authormarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 7 May 2012 21:44:11 +0000 (21:44 +0000)
committermarian <marian@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 7 May 2012 21:44:11 +0000 (21:44 +0000)
TPC/AliTPCcalibAlign.cxx
TPC/AliTPCcalibAlign.h
TPC/AliTPCcalibTracks.cxx
TPC/AliTPCcalibTracks.h

index 08cb5e16c82a3d892d61b6dce70220a5ced21a49..8a95ad320e6fbf77883c5bdcb089a1a8d5c24d9f 100644 (file)
 using namespace std;
 
 AliTPCcalibAlign* AliTPCcalibAlign::fgInstance = 0;
+Double_t          AliTPCcalibAlign::fgkMergeEntriesCut=10000000.; //10**7 tracks
 ClassImp(AliTPCcalibAlign)
 
 
@@ -2161,6 +2162,7 @@ void AliTPCcalibAlign::Add(AliTPCcalibAlign * align){
       fClusterDelta[i]->Add(align->fClusterDelta[i]);
     }
   }
+
   
   for (Int_t i=0; i<4; i++){
     if (!fTrackletDelta[i] && align->fTrackletDelta[i]) {
@@ -2168,7 +2170,9 @@ void AliTPCcalibAlign::Add(AliTPCcalibAlign * align){
       continue;
     }
     if (align->fTrackletDelta[i]) {
-      fTrackletDelta[i]->Add(align->fTrackletDelta[i]);
+      if (fTrackletDelta[i]->GetEntries()<fgkMergeEntriesCut){
+       fTrackletDelta[i]->Add(align->fTrackletDelta[i]);
+      }
     }
   }
 
index 2e523d7ec431b1bc0e23d2616a2224202dee320d..9cf738cad3cbcf743e2827da5e0556dfca795afb 100644 (file)
@@ -145,6 +145,7 @@ public:
                 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
@@ -201,6 +202,7 @@ protected:
   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
 
index 361ce123f204d570a5a78d40bf689f1b996ef891..39d8f4919eec5828bbbbecc6dd1b025c0ea859a0 100644 (file)
@@ -155,6 +155,7 @@ using namespace std;
 #include "TRandom.h"
 
 
+Double_t          AliTPCcalibTracks::fgkMergeEntriesCut=10000000.; //10**7 clusters
 
 ClassImp(AliTPCcalibTracks)
 
@@ -476,7 +477,7 @@ void AliTPCcalibTracks::Process(AliTPCseed *track){
    // 
   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);
@@ -868,9 +869,9 @@ void  AliTPCcalibTracks::FillResolutionHistoLocal(AliTPCseed * 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();  // 
@@ -1556,6 +1557,8 @@ void    AliTPCcalibTracks::AddHistos(AliTPCcalibTracks* calib){
   //
   // 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);
index 63f15557b384ac450e45743ba659221b2fdb913a..e486a1c4a31e343198081dcf1b8a4c75ee1ad83d 100644 (file)
@@ -90,6 +90,8 @@ public :
   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:
@@ -126,7 +128,9 @@ 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)
    
 };