// SDD
Float_t baseline = 10.;
Float_t noise = 1.67;
- Int_t thres = baseline+3.*noise;
+ Float_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);
+ res1->SetMagicValue(900.);
Float_t magic = res1->MagicValue();
Float_t top = res1->MaxAdc();
thres *= top/magic;
-
+ res1->SetNoiseParam(noise,baseline);
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);
return fMaxAdc;
}
- virtual void SetMagicValue(Float_t p1=96.95) {
+ virtual void SetMagicValue(Float_t p1=900.) {
// Set maximum Adc-top value
fTopValue=p1;
- //it was 1024
+ //it was 96.95
}
virtual Float_t MagicValue() {
// Get maximum Adc-top value
strcpy(opt1,fParam1.Data()); strcpy(opt2,fParam2.Data());
}
- virtual void SetNoiseParam(Float_t n=1.8, Float_t b=20.){
+ virtual void SetNoiseParam(Float_t n=1.75, Float_t b=10.){
// Noise and baseline
fNoise=n; fBaseline=b;
}
AliITSgeom *geom = ITS->GetITSgeom();
+ // NOTE: if you foresee to have (in segmentation or response) parameter
+ // values other than the default ones, and these values are used not only in
+ // simulation but in cluster finder as well, please set them via your
+ // local Config.C - the streamer will take care of writing the correct
+ // info and you'll no longer be obliged to set them again for your cluster
+ // finder as it's done in this macro (ugly and impractical, no? )
+
+
+
// Set the models for cluster finding
// SPD
Float_t baseline = 10.;
Float_t noise = 1.67;
- Int_t thres = (Int_t)(baseline+3*noise);
+ Float_t thres = baseline+3*noise;
printf("thresh %d\n",thres);
AliITSDetType *iDetType=ITS->DetType(1);
if (!seg1) seg1 = new AliITSsegmentationSDD(geom);
AliITSresponseSDD *res1 = (AliITSresponseSDD*)iDetType->GetResponseModel();
if (!res1) res1=new AliITSresponseSDD();
-
- //res1->SetNoiseParam(noise,baseline);
-
- res1->SetNoiseParam(noise,baseline);
+ res1->SetMagicValue(900.);
Float_t magic = res1->MagicValue();
Float_t top = res1->MaxAdc();
thres *= top/magic;
-
+ 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());
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);
// SSD