rv = 0.; // nothing to check
}
else {
- TIter next(list);
+ TIter next1(list);
TH1 * hdata;
+ Int_t nskipped=0;
+ Bool_t skipped[6]={kFALSE,kFALSE,kFALSE,kFALSE,kFALSE,kFALSE};
+ // look for layers that we wanted to skip
+ while ( (hdata = dynamic_cast<TH1 *>(next1())) ) {
+ if(!hdata) continue;
+ TString hname = hdata->GetName();
+ if(!hname.Contains("hESDSkippedLayers")) continue;
+ for(Int_t k=1; k<7; k++) {
+ if(hdata->GetBinContent(k)>0) {
+ nskipped++;
+ skipped[k-1]=kTRUE;
+ }
+ }
+ }
+ TIter next(list);
while ( (hdata = dynamic_cast<TH1 *>(next())) ) {
if(hdata){
TString hname = hdata->GetName();
// Check if there are layers with anomalously low
// contributing points to SA reconstructed tracks
for(Int_t k=1;k<7;k++){
+ // check if the layer was skipped
+ if(skipped[k-1]) continue;
if(hdata->GetBinContent(k)<0.5*(entries/6.)){
cluMapSA = kFALSE;
AliInfo(Form("SA tracks have few points on layer %d - look at histogram hESDClustersSA",k));
AliDebug(1,Form("Processing histogram %s",hname.Data()));
cluMapMI = kTRUE;
for(Int_t k=1;k<7;k++){
+ // check if the layer was skipped
+ if(skipped[k-1]) continue;
if(hdata->GetBinContent(k)<0.5*(entries/6.)){
cluMapMI = kFALSE;
AliInfo(Form("MI tracks have few points on layer %d - look at histogram hESDClustersMI",k));
// Check if 6 clusters MI tracks are the majority
AliDebug(1,Form("Processing histogram %s",hname.Data()));
cluMI = kTRUE;
- Double_t sixlaytracks = hdata->GetBinContent(7);
- for(Int_t k=2; k<7; k++){
- if(hdata->GetBinContent(k)>sixlaytracks){
+ Double_t maxlaytracks = hdata->GetBinContent(7-nskipped);
+ for(Int_t k=2; k<7-nskipped; k++){
+ if(hdata->GetBinContent(k)>maxlaytracks){
cluMI = kFALSE;
- AliInfo(Form("MI Tracks with %d clusters are more than tracks with 6 clusters. Look at histogram hESDClustersMI",k-1));
+ AliInfo(Form("MI Tracks with %d clusters are more than tracks with %d clusters. Look at histogram hESDClustersMI",k-1,6-nskipped));
}
}
}
// Check if 6 clusters SA tracks are the majority
AliDebug(1,Form("Processing histogram %s",hname.Data()));
cluSA = kTRUE;
- Double_t sixlaytracks = hdata->GetBinContent(7);
- for(Int_t k=2; k<7; k++){
- if(hdata->GetBinContent(k)>sixlaytracks){
+ Double_t maxlaytracks = hdata->GetBinContent(7-nskipped);
+ for(Int_t k=2; k<7-nskipped; k++){
+ if(hdata->GetBinContent(k)>maxlaytracks){
cluSA = kFALSE;
- AliInfo(Form("SA Tracks with %d clusters are more than tracks with 6 clusters. Look at histogram hESDClustersSA",k-1));
+ AliInfo(Form("SA Tracks with %d clusters are more than tracks with %d clusters. Look at histogram hESDClustersSA",k-1,6-nskipped));
}
}
}
}
}
- AliInfo(Form("ESD - Tested %d histograms, Return value %f \n",tested,rv));
- return rv;
+ AliInfo(Form("ESD - Tested %d histograms, Return value %f \n",tested,rv));
+ return rv;
} // end of ESD QA
Double_t spdCheck, sddCheck, ssdCheck;
fSDDChecker->SetTaskOffset(fSDDOffset);
sddCheck = fSDDChecker->Check(index, list);
if(sddCheck<retval)retval = sddCheck;
- }
+ }
if(fDet == 0 || fDet == 3) {
AliDebug(1,"AliITSQAChecker::Create SSD Checker\n");
if(!fSSDChecker) {
hSPDTrackletsTheta->Sumw2();
Add2ESDsList(hSPDTrackletsTheta, 18);
+ // map of layers skipped by tracking (set in AliITSRecoParam)
+ TH1F *hESDSkippedLayers =
+ new TH1F("hESDSkippedLayers", "Map of layers skipped by tracking; Layer; Skipped",
+ 6, -0.5, 5.5);
+ hESDSkippedLayers->Sumw2();
+ hESDSkippedLayers->SetMinimum(0);
+ Add2ESDsList(hESDSkippedLayers, 19, expertHistogram);
+
+
return;
}
const Int_t nESDTracks = esd->GetNumberOfTracks();
Int_t nITSrefit5 = 0;
+ Int_t idet,status;
+ Float_t xloc,zloc;
+
// loop on tracks
for(Int_t i = 0; i < nESDTracks; i++) {
GetESDsData(3)->Fill(layer);
}
}
-
+ track->GetITSModuleIndexInfo(layer,idet,status,xloc,zloc);
+ if(status==3) GetESDsData(19)->SetBinContent(layer,1);
}
} // end loop on tracks