// How to fill the 2D
fThresholdDigit = 5;
fThresholdClusterPRF1 = 2.0;
- fThresholdClusterPRF2 = 20.0;
+ fThresholdClusterPRF2 = 3.0;
// Store the Info
fNumberBinCharge = 100;
(((Float_t) signals[4]) > fThresholdClusterPRF2) &&
(((Float_t) signals[1]) < fThresholdClusterPRF1) &&
(((Float_t) signals[5]) < fThresholdClusterPRF1) &&
- (q * correction > 130.0)) {
+ ((((Float_t) signals[2])*((Float_t) signals[4])/(((Float_t) signals[3])*((Float_t) signals[3]))) < 0.06)) {
// Col correspond to signals[3]
if (fCenterOfflineCluster) {
xcenter = cl->GetCenter();
/ (((Float_t) signals[2]) + ((Float_t) signals[3]) + (((Float_t) signals[4]))));
ymax = (Float_t) (((Float_t) signals[4])
/ (((Float_t) signals[2]) + ((Float_t) signals[3]) + (((Float_t) signals[4]))));
- if ((ycenter > 0.485) &&
- (TMath::Abs(((Float_t) signals[2]) + ((Float_t) signals[3]) + (((Float_t) signals[4])) - q) < 8.0)) {
+ if ((TMath::Abs(((Float_t) signals[2]) + ((Float_t) signals[3]) + (((Float_t) signals[4])) - q) < 10.0)) {
echec = kTRUE;
}
}
if ((amp[0] > fThresholdClusterPRF2) &&
(amp[1] > fThresholdClusterPRF2) &&
(amp[2] > fThresholdClusterPRF2) &&
- ((amp[0]+amp[1]+amp[2]) > 130.0)) {
+ ((amp[0]*amp[2]/(amp[1]*amp[1])) < 0.06)) {
// Security of the denomiateur is 0
if ((((Float_t) (((Float_t) amp[1]) * ((Float_t) amp[1])))
/ ((Float_t) (((Float_t) amp[0]) * ((Float_t) amp[2])))) != 1.0) {
/ (TMath::Log((amp[1]*amp[1]) / (amp[0]*amp[2])));
Float_t ycenter = amp[1] / (amp[0] + amp[1] + amp[2]);
if ((xcenter > -0.5) &&
- (xcenter < 0.5) &&
- (ycenter > 0.485)) {
+ (xcenter < 0.5)) {
Float_t yminus = amp[0] / (amp[0]+amp[1]+amp[2]);
Float_t ymax = amp[2] / (amp[0]+amp[1]+amp[2]);
// Fill only if it is in the drift region!
}
else {
for (Int_t k = 0; k < nto; k++) {
- mean += values[k] / nto;
+ if(k == 0) mean = values[k];
+ if(mean > values[k]) mean = values[k];
}
}
object->SetValue(detector,mean);
tree->GetEntry(det);
AliTRDCalROC *calROC = object->GetCalROC(detector);
mean = detobject->GetValue(detector);
- if (mean == 0) {
+ if ((mean == 0) && (i != 3)) {
continue;
}
Int_t rowMax = calROC->GetNrows();
for (Int_t row = 0; row < rowMax; ++row) {
for (Int_t col = 0; col < colMax; ++col) {
if(i != 3) calROC->SetValue(col,row,TMath::Abs(values[(Int_t) (col*rowMax+row)])/mean);
- else calROC->SetValue(col,row,values[(Int_t) (col*rowMax+row)]/mean);
+ else calROC->SetValue(col,row,values[(Int_t) (col*rowMax+row)]-mean);
} // Col
} // Row
// Returns the average t0 for the given detector
//
+ const AliTRDCalPad *calPad = dynamic_cast<const AliTRDCalPad *>
+ (GetCachedCDBObject(kIDT0Pad));
+ if (!calPad) {
+ return -1;
+ }
+
+ AliTRDCalROC *roc = calPad->GetCalROC(det);
+ if (!roc) {
+ return -1;
+ }
+
const AliTRDCalDet *calDet = dynamic_cast<const AliTRDCalDet *>
(GetCachedCDBObject(kIDT0Chamber));
if (!calDet) {
return -1;
}
- return calDet->GetValue(det);
+ Double_t mean = 0.0;
+ for (Int_t channel = 0; channel < roc->GetNchannels(); ++channel) {
+ mean += (calDet->GetValue(det) + roc->GetValue(channel)) / roc->GetNchannels();
+ }
+
+ return mean;
}