]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSClusterFinderSSD.cxx
Modified ASCII output to equalize baselines (F. Prino)
[u/mrichter/AliRoot.git] / ITS / AliITSClusterFinderSSD.cxx
index 0de787a4214767dcfc5bf39d5c44efee2a2ff516..b818d81f62b62d899a45d6bf66b0e6477c1a1eb9 100644 (file)
 //  * period of March - June 2001                                            *
 // **************************************************************************/
 //
-
-/////////////////////////////////////////////////////////////////////////////
-//                                                                         //
-// Cluster finder class for SSD                                            // 
-//                                                                         //
-/////////////////////////////////////////////////////////////////////////////
 //#include <Riostream.h>
 #include <TArrayI.h>
 
 #include "AliITSclusterSSD.h"
 #include "AliITSpackageSSD.h"
 #include "AliITSsegmentationSSD.h"
-//#include "AliITSgeom.h"
+#include "AliITSgeom.h"
 #include "AliITSCalibrationSSD.h"
-//#include "AliLog.h"
+#include "AliLog.h"
 
 const Bool_t AliITSClusterFinderSSD::fgkSIDEP=kTRUE;
 const Bool_t AliITSClusterFinderSSD::fgkSIDEN=kFALSE;
 const Int_t AliITSClusterFinderSSD::fgkNoiseThreshold=5;
-const Int_t debug=0;
+//const Int_t debug=0;
 
 ClassImp(AliITSClusterFinderSSD)
   
@@ -146,21 +140,6 @@ fSFB(0){
     fPitch        = GetSeg()->Dpx(0);
     fPNsignalRatio= 7./8.;    // warning: hard-wired number
 }
-//______________________________________________________________________
-AliITSClusterFinderSSD::AliITSClusterFinderSSD(const AliITSClusterFinderSSD &source):AliITSClusterFinder(source){
-    // Copy constructor to satify Coding roules only.
-
-    Error("AliITSsimulationSSD","Not allowed to make a copy of "
-          "AliITSsimulationSSD");
-}
-//______________________________________________________________________
-AliITSClusterFinderSSD& AliITSClusterFinderSSD::operator=(const AliITSClusterFinderSSD &/*source*/){
-    // Assignment operator to satify Coding roules only.
-
-    Error("AliITSClusterFinderSSD","Not allowed to make a = with "
-          "AliITSClusterFinderSSD");
-    return *this;
-}
 
 //______________________________________________________________________
 AliITSClusterFinderSSD::~AliITSClusterFinderSSD(){
@@ -191,7 +170,7 @@ void AliITSClusterFinderSSD::InitReconstruction(){
     //fSegmentation->Angles(stereoP,stereoN);
      GetSeg()->Angles(stereoP,stereoN);
    CalcStepFactor(stereoP,stereoN);
-    if (debug) cout<<"fSFF = "<<fSFF<<"  fSFB = "<<fSFB<<"\n";
+   //    if (debug) cout<<"fSFF = "<<fSFF<<"  fSFB = "<<fSFB<<"\n";
 }
 //______________________________________________________________________
 void AliITSClusterFinderSSD::FindRawClusters(Int_t module){
@@ -264,10 +243,20 @@ void AliITSClusterFinderSSD::FindNeighbouringDigits(Int_t module){
     dbuffer[0]=lDigitsIndexP[0];
     
     //If next digit is a neigh. of previous, adds to last clust. this digit
+    /*    
+    cout<<"----------------------------------------------------------------"<<endl;
+    cout<<"module="<<module<<" , # of Pdigits="<<fNDigitsP<<" , # of Ndigits="<<fNDigitsN<<endl;
+
+    cout<<"  Pside"<<endl;
+    cout<<"       "<<((AliITSdigitSSD*)lDigits[lDigitsIndexP[0]])->GetStripNumber()<<" "<<
+      ((AliITSdigitSSD*)lDigits[lDigitsIndexP[0]])->GetSignal()<<endl;
+    */
+
     for (i=1; i<fNDigitsP; i++) {
       
       //reads new digit
       currentstripNo = ((AliITSdigitSSD*)lDigits[lDigitsIndexP[i]])->GetStripNumber(); 
+      //      cout<<"       "<<currentstripNo<<" "<<((AliITSdigitSSD*)lDigits[lDigitsIndexP[i]])->GetSignal()<<endl;
       
       if((((AliITSdigitSSD*)lDigits[lDigitsIndexP[i-1]])->GetStripNumber()) ==  (currentstripNo-1) ) 
        dbuffer[dnumber++]=lDigitsIndexP[i];
@@ -278,7 +267,7 @@ void AliITSClusterFinderSSD::FindNeighbouringDigits(Int_t module){
        for(j=0;j<dnumber;j++) {
          
          if( (((AliITSdigitSSD*)lDigits[dbuffer[j]])->GetSignal())
-             > fgkNoiseThreshold*((AliITSCalibrationSSD*)GetResp(module))->
+             > fgkNoiseThreshold* ((AliITSCalibrationSSD*)GetResp(module))->
              GetNoiseP( ((AliITSdigitSSD*)lDigits[dbuffer[j]])->GetStripNumber()) ) 
            flag+=1; 
          
@@ -287,6 +276,9 @@ void AliITSClusterFinderSSD::FindNeighbouringDigits(Int_t module){
        //if(flag==dnumber) {
        if(flag>0) {
          //create a new one side cluster
+
+         //      cout<<"          new cluster with "<<dnumber<<" digits"<<endl;
+
          new(lClusterP[fNClusterP++]) AliITSclusterSSD(dnumber,dbuffer,
                                                        Digits(),
                                                        fgkSIDEP); 
@@ -315,6 +307,9 @@ void AliITSClusterFinderSSD::FindNeighbouringDigits(Int_t module){
     //if(flag==dnumber) {
     if(flag>0) {
       //create a new one side cluster
+
+      //      cout<<"          new cluster with "<<dnumber<<" digits"<<endl;
+
       new(lClusterP[fNClusterP++]) AliITSclusterSSD(dnumber,dbuffer,
                                                    Digits(),
                                                    fgkSIDEP); 
@@ -330,8 +325,13 @@ void AliITSClusterFinderSSD::FindNeighbouringDigits(Int_t module){
     dbuffer[0]=lDigitsIndexN[0];
     //If next digit is a neigh. of previous, adds to last clust. this digit
     
+    //    cout<<"  Nside"<<endl;
+    //    cout<<"       "<<((AliITSdigitSSD*)lDigits[lDigitsIndexN[0]])->GetStripNumber()<<" "<<
+    //      ((AliITSdigitSSD*)lDigits[lDigitsIndexN[0]])->GetSignal()<<endl;
+
     for (i=1; i<fNDigitsN; i++) { 
       currentstripNo = ((AliITSdigitSSD*)(lDigits[lDigitsIndexN[i]]))->GetStripNumber();
+      //      cout<<"       "<<currentstripNo<<" "<<((AliITSdigitSSD*)lDigits[lDigitsIndexN[i]])->GetSignal()<<endl;
       
       if ( (((AliITSdigitSSD*)lDigits[lDigitsIndexN[i-1]])->GetStripNumber()) == (currentstripNo-1) ) 
        dbuffer[dnumber++]=lDigitsIndexN[i];
@@ -351,6 +351,9 @@ void AliITSClusterFinderSSD::FindNeighbouringDigits(Int_t module){
        //if(flag==dnumber) {
        if(flag>0) {
          //create a new one side cluster
+
+         //      cout<<"          new cluster with "<<dnumber<<" digits"<<endl;
+
          new(lClusterN[fNClusterN++]) AliITSclusterSSD(dnumber,dbuffer,
                                                        Digits(),
                                                        fgkSIDEN);
@@ -377,6 +380,9 @@ void AliITSClusterFinderSSD::FindNeighbouringDigits(Int_t module){
     //if(flag==dnumber) {
     if(flag>0) {
       //create a new one side cluster
+
+      //      cout<<"          new cluster with "<<dnumber<<" digits"<<endl;
+
       new(lClusterN[fNClusterN++]) AliITSclusterSSD(dnumber,dbuffer,
                                                    Digits(),
                                                    fgkSIDEN);
@@ -387,8 +393,8 @@ void AliITSClusterFinderSSD::FindNeighbouringDigits(Int_t module){
     flag=0;
     delete [] dbuffer;
     
-    if (debug) cout<<"\n Found clusters: fNClusterP = "<<fNClusterP
-                  <<"  fNClusterN ="<<fNClusterN<<"\n";
+    //    if (debug) cout<<"\n Found clusters: fNClusterP = "<<fNClusterP
+    //            <<"  fNClusterN ="<<fNClusterN<<"\n";
 }
 //______________________________________________________________________
 void AliITSClusterFinderSSD::SeparateOverlappedClusters(){
@@ -578,7 +584,7 @@ void AliITSClusterFinderSSD::FillDigitsIndex(){
     //    delete [] psidx;
     //delete [] nsidx;
 
-    if (debug) cout<<"Digits :  P = "<<fNDigitsP<<"   N = "<<fNDigitsN<<endl;
+    //    if (debug) cout<<"Digits :  P = "<<fNDigitsP<<"   N = "<<fNDigitsN<<endl;
 }
 //______________________________________________________________________
 void AliITSClusterFinderSSD::SortDigits(){
@@ -757,29 +763,15 @@ Bool_t AliITSClusterFinderSSD::CreateNewRecPoint(Float_t P,Float_t dP,
        fDetTypeRec->AddCluster(2,&cnew);
        //fITS->AddCluster(2,&cnew);
        //AliITSRecPoint rnew;
-        AliITSRecPoint rnew(fDetTypeRec->GetITSgeom());
-        rnew.SetXZ(fModule,P*kconv,N*kconv);
-       //rnew.SetX(P*kconv);
-       //rnew.SetZ(N*kconv);
-     rnew.SetQ(signal);
-     rnew.SetdEdX(dedx);
-        rnew.SetSigmaDetLocX2( kRMSx* kRMSx);
-       //     rnew.SetSigmaX2( kRMSx* kRMSx); 
-    rnew.SetSigmaZ2( kRMSz* kRMSz);
-
-         rnew.SetLabel(tr[0],0);
-        rnew.SetLabel(tr[1],1);
-        rnew.SetLabel(tr[2],2);
-        rnew.SetDetectorIndex(ind);
-        rnew.SetLayer(lyr);
-
-    //rnew.fTracks[0]=tr[0];
-    // rnew.fTracks[1]=tr[1];
-    //rnew.fTracks[2]=tr[2];
-     //rnew.SetMultP(nstripsP);
-     //rnew.SetMultN(nstripsN);
-        fDetTypeRec->AddRecPoint(rnew);
-       //    fITS->AddRecPoint(rnew);
+       Int_t lab[4] = {tr[0],tr[1],tr[2],ind};
+       Float_t hit[5] = {P*kconv,N*kconv,kRMSx*kRMSx,kRMSz*kRMSz,signal};
+       Int_t info[3] = {nstripsP,nstripsN,lyr};
+
+       AliITSRecPoint rnew(lab,hit,info,kTRUE);
+       rnew.SetdEdX(dedx);
+
+       fDetTypeRec->AddRecPoint(rnew);
+       //    fITS->AddRecPoint(rnew);
      return kTRUE;
     } // end if
     return kFALSE;