Modified and updated to be used with this latest code.
authornilsen <nilsen@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 22 Sep 2000 12:51:45 +0000 (12:51 +0000)
committernilsen <nilsen@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 22 Sep 2000 12:51:45 +0000 (12:51 +0000)
ITS/ITSDigitsToClusters.C
ITS/ITSHitsToDigits.C
ITS/ITSHitsToFastPoints.C

index 936c8dd..0bec011 100644 (file)
@@ -56,12 +56,17 @@ void ITSDigitsToClusters (Int_t evNumber1=0,Int_t evNumber2=0)
    AliITSClusterFinderSPD *rec0=new AliITSClusterFinderSPD(seg0,dig0,recp0);
    ITS->SetReconstructionModel(0,rec0);
    // test
-   printf("SPD dimensions %f %f \n",seg0->Dx(),seg0->Dz());
-   printf("SPD npixels %d %d \n",seg0->Npz(),seg0->Npx());
+   //printf("SPD dimensions %f %f \n",seg0->Dx(),seg0->Dz());
+   //printf("SPD npixels %d %d \n",seg0->Npz(),seg0->Npx());
 
 
    // SDD
 
+   Float_t baseline = 10.;
+   Float_t noise = 1.67;
+   Int_t thres = (Int_t)(baseline+3*noise);
+   printf("thresh %d\n",thres);
+
    AliITSDetType *iDetType=ITS->DetType(1);
    AliITSgeom *geom = ITS->GetITSgeom();
 
@@ -69,14 +74,22 @@ void ITSDigitsToClusters (Int_t evNumber1=0,Int_t evNumber2=0)
    if (!seg1) seg1 = new AliITSsegmentationSDD(geom);
    AliITSresponseSDD *res1 = (AliITSresponseSDD*)iDetType->GetResponseModel();
    if (!res1) res1=new AliITSresponseSDD();
-   res1->SetNoiseParam(0.,0.);
+   res1->SetNoiseParam(noise,baseline);
+   Float_t n,b;
+   res1->GetNoiseParam(n,b);
+    printf("SDD: noise baseline %f %f zs option %s data type %s\n",n,b,res1->ZeroSuppOption(),res1->DataType());
+   printf("SDD: DriftSpeed %f TopValue %f\n",res1->DriftSpeed(),res1->MagicValue());
+   Float_t dif0,dif1;
+   res1->DiffCoeff(dif0,dif1);
+   printf("SDD: dif0 %f dif1 %f\n",dif0,dif1);
    TClonesArray *dig1  = ITS->DigitsAddress(1);
    TClonesArray *recp1  = ITS->ClustersAddress(1);
    AliITSClusterFinderSDD *rec1=new AliITSClusterFinderSDD(seg1,res1,dig1,recp1);
+   rec1->SetMinNCells(6);
+   rec1->SetTimeCorr(70.);
+   rec1->SetCutAmplitude(thres);
    ITS->SetReconstructionModel(1,rec1);
 
-
-
    // SSD
 
    AliITSDetType *iDetType=ITS->DetType(2);
@@ -86,8 +99,8 @@ void ITSDigitsToClusters (Int_t evNumber1=0,Int_t evNumber2=0)
    AliITSClusterFinderSSD *rec2=new AliITSClusterFinderSSD(seg2,dig2,recp2);
    ITS->SetReconstructionModel(2,rec2);
    // test
-   printf("SSD dimensions %f %f \n",seg2->Dx(),seg2->Dz());
-   printf("SSD nstrips %d %d \n",seg2->Npz(),seg2->Npx());
+   //printf("SSD dimensions %f %f \n",seg2->Dx(),seg2->Dz());
+   //printf("SSD nstrips %d %d \n",seg2->Npz(),seg2->Npx());
 
 
 
@@ -111,6 +124,10 @@ void ITSDigitsToClusters (Int_t evNumber1=0,Int_t evNumber2=0)
        ITS->DigitsToRecPoints(nev,last_entry,"All");
    } // event loop 
 
+   delete rec0;
+   delete rec1;
+   delete rec2;
+
    file->Close();
 }
 
index e339737..d07be44 100644 (file)
@@ -14,7 +14,10 @@ void ITSHitsToDigits (Int_t evNumber1=0,Int_t evNumber2=0,Int_t nsignal  =25, In
    if (gClassTable->GetID("AliRun") < 0) {
       gROOT->LoadMacro("loadlibs.C");
       loadlibs();
-   } 
+   } else {
+      delete gAlice;
+      gAlice=0;
+   }
 
 
 // Connect the Root Galice file containing Geometry, Kine and Hits
@@ -46,8 +49,12 @@ void ITSHitsToDigits (Int_t evNumber1=0,Int_t evNumber2=0,Int_t nsignal  =25, In
 
    // SDD
    // SDD compression param: 2 fDecrease, 2fTmin, 2fTmax or disable, 2 fTolerance
+   Float_t baseline = 10.;
+   Float_t noise = 1.75;
+
+   Float_t fCutAmp = baseline + 2.*noise;
+   Int_t cp[8]={0,0,fCutAmp,fCutAmp,0,0,0,0}; //1D
 
-   Int_t cp[8]={0,0,0,0,0,0,0,0};
 
    AliITSDetType *iDetType=ITS->DetType(1);
    AliITSresponseSDD *res1 = (AliITSresponseSDD*)iDetType->GetResponseModel();
@@ -55,11 +62,14 @@ void ITSHitsToDigits (Int_t evNumber1=0,Int_t evNumber2=0,Int_t nsignal  =25, In
          res1=new AliITSresponseSDD();
          ITS->SetResponseModel(1,res1);
    }
-   res1->SetZeroSupp("2D");
-   //res1->SetZeroSupp("1D");
-   res1->SetNoiseParam(0.,0.);
-   res1->SetCompressParam(cp);
+   //res1->SetZeroSupp("2D");
+   res1->SetZeroSupp("1D");
+   res1->SetNoiseParam(noise,baseline);
+   res1->SetDo10to8(kTRUE);
    res1->SetMinVal(4);
+   res1->SetCompressParam(cp);
+   res1->SetDiffCoeff(3.6,40.);
+   res1->SetMagicValue(96.95);
 
    AliITSsegmentationSDD *seg1=(AliITSsegmentationSDD*)iDetType->GetSegmentationModel();
    if (!seg1) {
@@ -68,6 +78,9 @@ void ITSHitsToDigits (Int_t evNumber1=0,Int_t evNumber2=0,Int_t nsignal  =25, In
    }
 
    AliITSsimulationSDD *sim1=new AliITSsimulationSDD(seg1,res1);
+   sim1->SetDoFFT(1);
+   sim1->SetCheckNoise(kFALSE);
+
    ITS->SetSimulationModel(1,sim1);
    
    
@@ -80,9 +93,9 @@ void ITSHitsToDigits (Int_t evNumber1=0,Int_t evNumber2=0,Int_t nsignal  =25, In
    AliITSsimulationSPD *sim0=new AliITSsimulationSPD(seg0,res0);
    ITS->SetSimulationModel(0,sim0);
    // test
-   printf("SPD dimensions %f %f \n",seg0->Dx(),seg0->Dz());
-   printf("SPD npixels %d %d \n",seg0->Npz(),seg0->Npx());
-   printf("SPD pitches %d %d \n",seg0->Dpz(0),seg0->Dpx(0));
+   //printf("SPD dimensions %f %f \n",seg0->Dx(),seg0->Dz());
+   //printf("SPD npixels %d %d \n",seg0->Npz(),seg0->Npx());
+   //printf("SPD pitches %d %d \n",seg0->Dpz(0),seg0->Dpx(0));
    // end test
 
 
@@ -109,12 +122,16 @@ void ITSHitsToDigits (Int_t evNumber1=0,Int_t evNumber2=0,Int_t nsignal  =25, In
        if (nev < evNumber1) continue;
        if (nparticles <= 0) return;
 
-       Int_t nbgr_ev=Int_t(nev/nsignal);
-       //printf("nbgr_ev %d\n",nbgr_ev);
+       Int_t nbgr_ev=0;
+       if(nsignal) nbgr_ev=Int_t(nev/nsignal);
        ITS->HitsToDigits(nev,nbgr_ev,size," ","All"," ");
-       //ITS->HitsToDigits(nev,nbgr_ev,size," ","SDD"," ");
    } // event loop 
 
+   delete sim0;
+   delete sim1;
+   delete sim2;
+
+
    file->Close();
 }
 
index e491e12..b98ab93 100644 (file)
@@ -14,9 +14,11 @@ void ITSHitsToFastPoints (Int_t evNumber1=0,Int_t evNumber2=0,Int_t nsignal=25,
    if (gClassTable->GetID("AliRun") < 0) {
       gROOT->LoadMacro("loadlibs.C");
       loadlibs();
+   } else {
+      delete gAlice;
+      gAlice=0;
    }
 
-
 // Connect the Root Galice file containing Geometry, Kine and Hits
 
    TFile *file = (TFile*)gROOT->GetListOfFiles()->FindObject("galice.root");