]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSFindClusters.C
Update response parameters and thresholds in cluster finder for SDD
[u/mrichter/AliRoot.git] / ITS / AliITSFindClusters.C
index 05d61a5d50a0c0b7fcb8449f8266810beebc47d9..7873aae9d3a14e44de854390906f6447c296f6dc 100644 (file)
@@ -23,6 +23,7 @@ Int_t AliITSFindClusters() {
    Int_t ver = ITS->IsVersion(); 
    cerr<<"ITS version "<<ver<<" has been found !\n";
 
+   ITS->MakeTreeC();
 // Set the models for cluster finding
    AliITSgeom *geom = ITS->GetITSgeom();
 
@@ -33,36 +34,24 @@ Int_t AliITSFindClusters() {
    TClonesArray *recp0  = ITS->ClustersAddress(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());
-
 
    // SDD
-   Float_t baseline = 10.;
-   Float_t noise = 1.67;
-   Int_t thres = baseline+3.*noise;
-
    AliITSDetType *iDetType=ITS->DetType(1);
    AliITSsegmentationSDD *seg1=(AliITSsegmentationSDD*)iDetType->GetSegmentationModel();
    if (!seg1) seg1 = new AliITSsegmentationSDD(geom);
    AliITSresponseSDD *res1 = (AliITSresponseSDD*)iDetType->GetResponseModel();
    if (!res1) res1=new AliITSresponseSDD();
-       
-       
-   //res1->SetNoiseParam(noise,baseline);
-
-   res1->SetNoiseParam(noise,baseline);
-   Float_t magic = res1->MagicValue();
-   Float_t top = res1->MaxAdc();
-   thres *= top/magic;
-
+   Float_t baseline,noise;
+   res1->GetNoiseParam(noise,baseline);
+   Float_t noise_after_el = res1->GetNoiseAfterElectronics();
+   Float_t thres = baseline;
+   thres += (4.*noise_after_el);  // TB // (4.*noise_after_el);
+   printf("thres %f\n",thres);
+   res1->Print();
    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);
+   rec1->SetCutAmplitude((int)thres);
    ITS->SetReconstructionModel(1,rec1);
 
 
@@ -70,8 +59,7 @@ Int_t AliITSFindClusters() {
    AliITSDetType *iDetType=ITS->DetType(2);
    AliITSsegmentationSSD *seg2=(AliITSsegmentationSSD*)iDetType->GetSegmentationModel();
    TClonesArray *dig2  = ITS->DigitsAddress(2);
-   TClonesArray *recp2  = ITS->ClustersAddress(2);
-   AliITSClusterFinderSSD *rec2=new AliITSClusterFinderSSD(seg2,dig2,recp2);
+   AliITSClusterFinderSSD *rec2=new AliITSClusterFinderSSD(seg2,dig2);
    ITS->SetReconstructionModel(2,rec2);
    // test
    printf("SSD dimensions %f %f \n",seg2->Dx(),seg2->Dz());
@@ -79,6 +67,9 @@ Int_t AliITSFindClusters() {
 
 
 
+   if(!gAlice->TreeR()) gAlice->MakeTree("R");
+   //make branch
+   ITS->MakeBranch("R");
 
    TStopwatch timer;
 
@@ -87,7 +78,7 @@ Int_t AliITSFindClusters() {
       cerr<<"Looking for clusters...\n";
       {
        timer.Start();
-       ITS->DigitsToRecPoints(0,1,"All");
+       ITS->DigitsToRecPoints(0,0,"All");
       }
       break;
    default: