ClassImp(AliITSQASDDChecker)
-//__________________________________________________________________
-AliITSQASDDChecker& AliITSQASDDChecker::operator = (const AliITSQASDDChecker& qac )
+
+
+
+//_____________________________________________________________________
+
+AliITSQASDDChecker::AliITSQASDDChecker():
+fSubDetOffset(0),
+ fStepBitSDD(NULL),
+ fLowSDDValue(NULL),
+ fHighSDDValue(NULL),
+ fCalibration(NULL),
+ fThresholdForRelativeOccupancy(0.01),
+ fThresholdForRecToRawRatio(0.04),
+ fImage(NULL),
+ fESforCheck(0)
{
- // Equal operator.
- this->~AliITSQASDDChecker();
- new(this) AliITSQASDDChecker(qac);
- return *this;
-}
+// Default constructor
+ fStepBitSDD=new Double_t[AliQAv1::kNBIT];
+ fLowSDDValue=new Float_t[AliQAv1::kNBIT];
+ fHighSDDValue=new Float_t[AliQAv1::kNBIT];
+ for(Int_t ibit=0;ibit<AliQAv1::kNBIT;ibit++)
+ {
+ fStepBitSDD[ibit]=0.;
+ fLowSDDValue[ibit]=0.;
+ fHighSDDValue[ibit]=0.;
+ }
+
+} // ctor
+
+
AliITSQASDDChecker::~AliITSQASDDChecker()
{
AliDebug(1,Form("AliITSQASDDChecker called with offset: %d\n", fSubDetOffset));
- Double_t SDDQACheckerValue = 0.;
+ Double_t sddQACheckerValue = 0.;
TH1 *hdata=NULL;
Double_t entries=0.;
Double_t entries2[2];
{
AliError("Calibration object retrieval failed! SDD will not be processed");
fCalibration = NULL;
- SDDQACheckerValue= fHighSDDValue[AliQAv1::kWARNING];
+ sddQACheckerValue= fHighSDDValue[AliQAv1::kWARNING];
}
else{
fCalibration = (TObjArray *)calibSDD->GetObject();
// if(fRawModulePattern) { delete fRawModulePattern; fRawModulePattern = 0; }
// if(fRawL3Pattern) { delete fRawL3Pattern; fRawL3Pattern = 0; }
// if(fRawL4Pattern) { delete fRawL4Pattern; fRawL4Pattern = 0; }
- if (list->GetEntries() == 0){AliError("Raw List for SDD is empty \n");SDDQACheckerValue += fHighSDDValue[AliQAv1::kFATAL]; break;}
+ if (list->GetEntries() == 0){AliError("Raw List for SDD is empty \n");sddQACheckerValue += fHighSDDValue[AliQAv1::kFATAL]; break;}
TH1 *hmodule=NULL;
TH2 *hlayer[2];
hdata=NULL;
if(hname.Contains("NORM")) continue;
hmodule=(TH1*)hdata->Clone();
entries= hdata->GetEntries();
- if(AliITSQADataMakerRec::AreEqual(entries,0.)){AliWarning(Form("===================>>>>>> No entries in %s \n",hname.Data()));SDDQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];}//endif entries
+ if(AliITSQADataMakerRec::AreEqual(entries,0.)){AliWarning(Form("===================>>>>>> No entries in %s \n",hname.Data()));sddQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];}//endif entries
else{
int modmax=hdata->GetNbinsX();
Double_t content=0;
if(hdata->GetEntries()>0.)fractionAboveThreshold=((Float_t) aboveThreshold)/hdata->GetEntries();
if(hname.Contains("L3")) AliInfo(Form("SDD check number 1, L3: Raw fractionAboveThreshold: %f",fractionAboveThreshold));
if(hname.Contains("L4")) AliInfo(Form("SDD check number 2, L4: Raw fractionAboveThreshold: %f",fractionAboveThreshold));
- if(fractionAboveThreshold > fThresholdForRelativeOccupancy) {SDDQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
+ if(fractionAboveThreshold > fThresholdForRelativeOccupancy) {sddQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
if(hname.Contains("L3")) AliInfo(Form("SDD check number 1: Set Warning (L3 Raw)"));
if(hname.Contains("L4")) AliInfo(Form("SDD check number 2: Set Warning (L4 Raw)")); } }//relativeoccupancy
else if(hname.Contains("4"))layer=1;
entries2[layer]=hdata->GetEntries();
if(entries2[layer]==0){AliWarning(Form("===================>>>>>> No entries in %s \n",hname.Data()));
- SDDQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];}//end if getentries
+ sddQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];}//end if getentries
else{
Int_t layer1=0;
if(hname.Contains("3"))layer1=0;
emptyactivedrperlayer[0]=emptydriftregion[0]- excludeddrperlayer[0];
emptyactivedrperlayer[1]=emptydriftregion[1]- excludeddrperlayer[1];
+ Int_t numlimit=1000;
- if(emptysum>excluded||emptydrsum>excludeddriftregion){
- AliWarning(Form(" %i good module(s) and %i good single drift regions didn't take data! Check the calibration\n",emptydiff,emptydrdiff));
- AliWarning(Form(" Layer 3: %i good module(s) and %i good single drift regions didn't take data! Check the calibration\n",emptyactivemoduleperlayer[0] ,emptyactivedrperlayer[0] ));
- AliWarning(Form(" Layer 4: %i good module(s) and %i good single drift regions didn't take data! Check the calibration\n",emptyactivemoduleperlayer[1] ,emptyactivedrperlayer[1] ));
-
-
- results1.Form("%i good module(s) and %i good drift regions didn't take data!",emptydiff,emptydrdiff);
- if(neventsraw<500)
- {
- results2.Form(" Events %d .Too few events.DO NOT CALL the Expert ",neventsraw);
- color=5;
- SDDQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
- }
+ if(emptysum>excluded||emptydrsum>excludeddriftregion){
+ AliWarning(Form(" %i good module(s) and %i good single drift regions didn't take data! \n",emptydiff,emptydrdiff));
+ AliWarning(Form(" Layer 3: %i good module(s) and %i good single drift regions didn't take data! \n",emptyactivemoduleperlayer[0] ,emptyactivedrperlayer[0] ));
+ AliWarning(Form(" Layer 4: %i good module(s) and %i good single drift regions didn't take data! \n",emptyactivemoduleperlayer[1] ,emptyactivedrperlayer[1] ));
+ //printf("========================= %d",AliQAv1::Instance(AliQAv1::GetDetIndex(GetName()))->IsEventSpecieSet(AliRecoParam::kCosmic));
+ // if((AliQAv1::Instance(AliQAv1::GetDetIndex("ITS")))->IsEventSpecieSet(AliRecoParam::kCosmic)==kFALSE){
+ if(AliRecoParam::Convert(GetEventSpecieForCheck())!=AliRecoParam::kCosmic){
+
+ results1.Form("%i good module(s) and %i good drift regions didn't take data!",emptydiff,emptydrdiff);
+ if(neventsraw<numlimit)
+ {
+ results2.Form(" Events %d .Too few events.DO NOT CALL the Expert ",neventsraw);
+ color=5;
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
+ }
+ else
+ {
+ results2.Form(" Events %d. If PHYISICS, follow the TWiki instruction and call the Expert ",neventsraw);
+ color=2;
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kERROR];
+ }
+ }
else
- {
- results2.Form(" Events %d .Follow the TWiki instruction and call the Expert ",neventsraw);
- color=2;
- SDDQACheckerValue=fHighSDDValue[AliQAv1::kERROR];
- }
+ // if((AliQAv1::Instance(AliQAv1::GetDetIndex("ITS")))->IsEventSpecieSet(AliRecoParam::kCosmic)==kTRUE)
+ if(AliRecoParam::Convert(GetEventSpecieForCheck())==AliRecoParam::kCosmic)
+ {
+ numlimit=10000;
+ if(neventsraw<numlimit)
+ {
+ AliWarning(Form("This is a cosmic run. Some module and drift region are empty but all is OK. "));
+ results1.Form("OK. This is a cosmic run. you need a lot of events. Events %i",neventsraw);
+ results2.Form("%i good module(s) and %i good drift are empty! DO NOT CALL THE EXPERT",emptydiff,emptydrdiff);
+ color=5;
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
+ }
+ else
+ {
+ results1.Form("%i good module(s) and %i good drift region(s) have no data!",emptydiff,emptydrdiff);
+ results2.Form(" Cosmic Events %d .Follow the TWiki instruction and call the Expert ",neventsraw);
+ color=2;
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kERROR];
+ }
+ }
}
-
+
if(exactive==0 && emptydiff==0 && exactivedriftregion==0 && emptydrdiff==0){
AliInfo(Form("All the active modules (%i) and single drift regions (%i) are in acquisition. The number of excluded modules are %i and the excluded single drift regions are %i\n",active,activedriftregion,excluded,excludeddriftregion));
results1.Form("OK.");
results2.Form(" All active modules and drift regions in acquisition");
color=3;
- SDDQACheckerValue=fHighSDDValue[AliQAv1::kINFO];
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kINFO];
}
if(exactive!=0||exactivedriftregion!=0){
AliError(Form("%i modules and %i single drift regions excluded from the acquisition took data. Active modules%i single drift region %i \n ",exactive,exactivedriftregion,active,activedriftregion));
results1.Form("%i modules and %i drift region excluded from the acquisition took data",exactive,exactivedriftregion);
results2.Form("Follow the TWiki instructions and Call the SDD expert ");
color=2;
- SDDQACheckerValue=fHighSDDValue[AliQAv1::kERROR];
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kERROR];
}
if(excluded==exactive||excludeddriftregion==exactivedriftregion){
AliError(Form("All the modules (%d) or single drift regions (%d) excluded from the acquisition took data!\n Active modules %i \t Active drfift regions %i\n",excluded,excludeddriftregion,active,activedriftregion));
results1.Form("All the modules (%d) or drift regions (%d) excluded from the acquisition took data!",excluded,excludeddriftregion );
results2.Form("Follow the TWiki instructions and Call the SDD expert ");
color=6;
- SDDQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
}
if(active==0||activedriftregion==0){
AliError(Form("No modules or single drift regions took data: excluded %i \t excluded active %i \n\t\t excluded single drift regions %i \t excluded active drift regions %i \n", excluded, exactive, excludeddriftregion, exactivedriftregion));
results1.Form("No modules or drift region took data: excluded modules %i excluded drift regions %i ", excluded, excludeddriftregion );
results2.Form("Follow the TWiki instructions and Call the SDD expert ");
color=6;
- SDDQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
}
TPaveText *pave[2];
case AliQAv1::kNULLTASK:{
AliInfo(Form("No Check on %s\n",AliQAv1::GetAliTaskName(index)));
- SDDQACheckerValue=1.;
+ sddQACheckerValue=1.;
}
break;
if(uidrec==20){
//recpoints
if (list->GetEntries() == 0){ //check if the list is empty
- //printf("SDDQACheckerValue = %f \t value %f\n",SDDQACheckerValue,fHighSDDValue[AliQAv1::kFATAL]);
- SDDQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
+ //printf("sddQACheckerValue = %f \t value %f\n",sddQACheckerValue,fHighSDDValue[AliQAv1::kFATAL]);
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
//break;
}//end if getentries
if(hname.Contains("L3")) AliInfo(Form("SDD check number 3, L3: RecPoints fractionAboveThreshold: %f",fractionAboveThreshold));
if(hname.Contains("L4")) AliInfo(Form("SDD check number 4, L4: RecPoints fractionAboveThreshold: %f",fractionAboveThreshold));
if(fractionAboveThreshold > fThresholdForRelativeOccupancy) {
- SDDQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
if(hname.Contains("L3")) AliInfo(Form("SDD check number 3: Set Warning (L3 RecPoints)"));
if(hname.Contains("L4")) AliInfo(Form("SDD check number 4: Set Warning (L4 RecPoints)"));
}
if(hname.Contains("L3")) AliInfo(Form("SDD check number 5, L3: RecPoints2Raws fractionBelowThreshold: %f",fractionBelowThreshold));
if(hname.Contains("L4")) AliInfo(Form("SDD check number 6, L4: RecPoints2Raws fractionBelowThreshold: %f",fractionBelowThreshold));
if(fractionBelowThreshold > fThresholdForRelativeOccupancy) {
- SDDQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
if(hname.Contains("L3")) AliInfo(Form("SDD check number 5: Set Warning (L3 RecPoints2Raws)"));
if(hname.Contains("L4")) AliInfo(Form("SDD check number 6: Set Warning (L4 RecPoints2Raws)"));
}
if(hname.Contains("NORM")) continue;
hmodule=(TH1*)hdata->Clone();
entries= hdata->GetEntries();
- if(AliITSQADataMakerRec::AreEqual(entries,0.)){AliWarning(Form("===================>>>>>> No entries in %s \n",hname.Data()));SDDQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];}//endif entries
+ if(AliITSQADataMakerRec::AreEqual(entries,0.)){AliWarning(Form("===================>>>>>> No entries in %s \n",hname.Data()));sddQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];}//endif entries
else{
int modmax=hdata->GetNbinsX();
Double_t content=0;
else if(hname.Contains("4"))layer=1;
entries2[layer]=hdata->GetEntries();
if(entries2[layer]==0){AliWarning(Form("===================>>>>>> No entries in %s \n",hname.Data()));
- SDDQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];}//end if getentries
+ sddQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];}//end if getentries
else{
Int_t layer1=0;
if(hname.Contains("3"))layer1=0;
emptyactivedrperlayer[0]=emptydriftregion[0]- excludeddrperlayer[0];
emptyactivedrperlayer[1]=emptydriftregion[1]- excludeddrperlayer[1];
-
+ Int_t numlimit=1000;
if(emptysum>excluded||emptydrsum>excludeddriftregion){
- AliWarning(Form(" %i good module(s) and %i good single drift regions have not recpoints! Check the calibration\n",emptydiff,emptydrdiff));
- AliWarning(Form(" Layer 3: %i good module(s) and %i good single drift regions have not recpoints! Check the calibration\n",emptyactivemoduleperlayer[0] ,emptyactivedrperlayer[0] ));
- AliWarning(Form(" Layer 4: %i good module(s) and %i good single drift regions have not recpoints! Check the calibration\n",emptyactivemoduleperlayer[1] ,emptyactivedrperlayer[1] ));
-
- //SDDQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
+ AliWarning(Form(" %i good module(s) and %i good single drift regions have not recpoints! \n",emptydiff,emptydrdiff));
+ AliWarning(Form(" Layer 3: %i good module(s) and %i good single drift regions have not recpoints! \n",emptyactivemoduleperlayer[0] ,emptyactivedrperlayer[0] ));
+ AliWarning(Form(" Layer 4: %i good module(s) and %i good single drift regions have not recpoints! \n",emptyactivemoduleperlayer[1] ,emptyactivedrperlayer[1] ));
+ //sddQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
+ Int_t numlimits=1000;
+
results1.Form("%i good module(s) and %i good drift region(s) have not recpoints!",emptydiff,emptydrdiff);
- if(neventsrecpoints<500)
- {
- results2.Form(" Events %d .Too few events.DO NOT CALL the Expert ",neventsrecpoints);
- color=5;
- SDDQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
+ // if((AliQAv1::Instance(AliQAv1::GetDetIndex("ITS")))->IsEventSpecieSet(AliRecoParam::kCosmic)==kFALSE)
+ if(AliRecoParam::Convert(GetEventSpecieForCheck())!=AliRecoParam::kCosmic){
+
+ if(neventsrecpoints<numlimits)
+ {
+ results2.Form(" Events %d .Too few events.DO NOT CALL the Expert ",neventsrecpoints);
+ color=5;
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
+ }
+ else
+ {
+ results2.Form(" Events %d .If PHYISICS, follow the TWiki instruction and call the Expert ",neventsrecpoints);
+ color=2;
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kERROR];
+ }
}
else
- {
- results2.Form(" Events %d .Follow the TWiki instruction and call the Expert ",neventsrecpoints);
- color=2;
- SDDQACheckerValue=fHighSDDValue[AliQAv1::kERROR];
- }
+ //if((AliQAv1::Instance(AliQAv1::GetDetIndex("ITS")))->IsEventSpecieSet(AliRecoParam::kCosmic)==kTRUE)
+ if(AliRecoParam::Convert(GetEventSpecieForCheck())==AliRecoParam::kCosmic){
+ numlimit=10000;
+ if( neventsrecpoints<numlimit)
+ {
+ AliWarning(Form("This is a cosmic run. Some module and drift region are empty but all is OK. "));
+ results1.Form("OK. Thi is a cosmic run. You need a lot of events. Events %i",neventsrecpoints);
+ results2.Form("%i good module(s) and %i good drift are empty! DO NOT CALL THE EXPERT",emptydiff,emptydrdiff);
+ color=5;
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kWARNING];
+ }
+ else
+ {
+ results1.Form("%i good module(s) and %i good drift region(s) have not recpoints!",emptydiff,emptydrdiff);
+ results2.Form("Cosmic Events %d .Follow the TWiki instruction and call the Expert ",neventsrecpoints);
+ color=2;
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kERROR];
+ }
+ }
}
results1.Form("OK.");
results2.Form(" All active modules have recpoints");
color=3;
- SDDQACheckerValue=fHighSDDValue[AliQAv1::kINFO];
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kINFO];
}
if(exactive!=0||exactivedriftregion!=0){
AliError(Form("%i modules and %i single drift regions excluded from the acquisition have recpoints. Active modules %i single drift region %i \n ",exactive,exactivedriftregion,active,activedriftregion));
results1.Form("%i modules and %i drift region excluded from the acquisition have recpoints",exactive,exactivedriftregion);
results2.Form("Follow the TWiki instructions and Call the SDD expert ");
color=2;
- SDDQACheckerValue=fHighSDDValue[AliQAv1::kERROR];
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kERROR];
}
if(excluded==exactive||excludeddriftregion==exactivedriftregion){
AliError(Form("All the modules (%d) or single drift regions (%d) excluded from the acquisition have recpoints!\n Active modules %i \t Active drfift regions %i\n",excluded,excludeddriftregion,active,activedriftregion));
results1.Form("All the modules (%d) or drift regions (%d) excluded from the acquisition have recpoints!",excluded,excludeddriftregion );
results2.Form("Follow the TWiki instructions and Call the SDD expert ");
color=6;
- SDDQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
}
if(active==0||activedriftregion==0){
AliError(Form("No modules or single drift regions have recpoints: excluded %i \t excluded active %i \n\t\t excluded single drift regions %i \t excluded active drift regions %i \n", excluded, exactive, excludeddriftregion, exactivedriftregion));
results1.Form("No modules or drift region have recpoints: excluded modules %i excluded drift regions %i ", excluded, excludeddriftregion );
results2.Form("Follow the TWiki instructions and Call the SDD expert ");
color=6;
- SDDQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
}
TPaveText *pave[2];
}//end for
- //SDDQACheckerValue=1.;
+ //sddQACheckerValue=1.;
}//end recpoint list uid = 20
- else if(uidrec==40)
+ if(uidrec==40)
{
//digitsr
if (list->GetEntries() == 0){
- SDDQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
break;
} else{
while( (hdata = dynamic_cast<TH1* >(next())) ){
if (hdata){
- if(hdata->GetEntries()==0)SDDQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];
+ if(hdata->GetEntries()==0)sddQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];
else {
TString hname=hdata->GetName();
if(hname.Contains("SDD DIGITS Module Pattern")) {
//see raws
- SDDQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
+ sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDD Anode Distribution")) {
- SDDQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
+ sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDD Tbin Distribution")) {
//to do as rp
- SDDQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
+ sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDD ADC Counts Distribution")) {
- SDDQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
+ sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
}//end adc counts
}//end entries !=0
}//end hdata
}//end while
}//end else
- SDDQACheckerValue=1.;
+ sddQACheckerValue=1.;
}
}
case AliQAv1::kANA:
{
AliInfo(Form("===================> No Check on %s\n",AliQAv1::GetAliTaskName(index)));
- SDDQACheckerValue=1.;
+ sddQACheckerValue=1.;
}
break;
case AliQAv1::kESD:
{
AliInfo(Form("==================> No Check on %s\n",AliQAv1::GetAliTaskName(index)));
- SDDQACheckerValue=1.;
+ sddQACheckerValue=1.;
}
break;
case AliQAv1::kNTASK:{
AliInfo(Form("==================> No Check on %s\n",AliQAv1::GetAliTaskName(index)));
- SDDQACheckerValue=1.;
+ sddQACheckerValue=1.;
}
break;
case AliQAv1::kSIM:{
if(uid==60) {
//digits
if (list->GetEntries() == 0){
- SDDQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
break;
} else{
while( (hdata = dynamic_cast<TH1* >(next())) ){
if (hdata){
- if(hdata->GetEntries()==0)SDDQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];
+ if(hdata->GetEntries()==0)sddQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];
else {
TString hname=hdata->GetName();
if(hname.Contains("SDDDIGITSModulePattern")) {
//see raws
- SDDQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
+ sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDDAnodeDistribution")) {
- SDDQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
+ sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDDTbinDistribution")) {
//to do as rp
- SDDQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
+ sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDDADCCountsDistribution")) {
- SDDQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
+ sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
}//end adc counts
}//end entries !=0
{
//hits
if (list->GetEntries() == 0){
- SDDQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
break;
}
else{
while( (hdata = dynamic_cast<TH1* >(next())) ){
if (hdata){
- if(hdata->GetEntries()==0)SDDQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];
+ if(hdata->GetEntries()==0)sddQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];
else {
TString hname=hdata->GetName();
if(hname.Contains("SDDHITSModulePattern")) {
//to do as raws
- SDDQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
+ sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDDHITlenghtalonglocalYCoord")) {
- SDDQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
+ sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDDHITlenghtalonglocalYCoordZoom")) {
- SDDQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
+ sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDDDepositedEnergyDistribution")) {
- SDDQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
+ sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
}//end deposited energy
}//end entries !=0
{
//sdigits
if (list->GetEntries() == 0){
- SDDQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
+ sddQACheckerValue=fHighSDDValue[AliQAv1::kFATAL];
break;
} else{
while( (hdata = dynamic_cast<TH1* >(next())) ){
if (hdata){
- if(hdata->GetEntries()==0)SDDQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];
+ if(hdata->GetEntries()==0)sddQACheckerValue += fStepBitSDD[AliQAv1::kFATAL];
else {
TString hname=hdata->GetName();
if(hname.Contains("SDDSDIGITSModulePattern")) {
//to do as raws
- SDDQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
+ sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDDAnodeDistribution")) {
- SDDQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
+ sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDDTbinDistribution")) {
//to do as rp
- SDDQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
+ sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
} else if(hname.Contains("SDDADCCountsDistribution")) {
- SDDQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
+ sddQACheckerValue += fStepBitSDD[AliQAv1::kINFO];
}//end adc counts bindistribution
}//end entries !=0
}//end hdata
}//end while
}//end else
}//end sdigits
- SDDQACheckerValue=1.;
+ sddQACheckerValue=1.;
}
break;
if(hdata) delete hdata;
- return SDDQACheckerValue;
+ return sddQACheckerValue;
}
//__________________________________________________________________
void AliITSQASDDChecker::SetStepBit(const Double_t *steprange)
{
//set the values of the step bit for each QA bit range calculated in the AliITSQAChecker class
- fStepBitSDD = new Double_t[AliQAv1::kNBIT];
+ //if(fStepBitSDD){/*delete fStepBitSDD;*/ fStepBitSDD=NULL;}
+ //fStepBitSDD = new Double_t[AliQAv1::kNBIT];
for(Int_t bit=0;bit<AliQAv1::kNBIT;bit++)
{
fStepBitSDD[bit]=steprange[bit];
void AliITSQASDDChecker::SetSDDLimits(const Float_t *lowvalue, const Float_t * highvalue)
{
//set the low and high values in for each QA bit range calculated in the AliITSQAChecker class
- fLowSDDValue = new Float_t[AliQAv1::kNBIT];
- fHighSDDValue= new Float_t[AliQAv1::kNBIT];
+ // fLowSDDValue = new Float_t[AliQAv1::kNBIT];
+ // fHighSDDValue= new Float_t[AliQAv1::kNBIT];
for(Int_t bit=0;bit<AliQAv1::kNBIT;bit++)
{
//__________________________________________________________________
Bool_t AliITSQASDDChecker::MakeSDDImage( TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode)
{
+ //create the image for raws and recpoints. In the other case, the default methodof CheckerBase class will be used
+ //
Bool_t rval=kFALSE;
fImage=(TCanvas**)AliQAChecker::Instance()->GetDetQAChecker(0)->GetImage();
- //create the image for raws and recpoints. In the other case, the default methodof CheckerBase class will be used
+
switch(task)
{
case AliQAv1::kRAWS:{
//_______________________________________________________________________
Bool_t AliITSQASDDChecker::MakeSDDRawsImage(TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode )
{
+ // MakeSDDRawsImage: raw data QA plots
for (Int_t esIndex = 0 ; esIndex < AliRecoParam::kNSpecies ; esIndex++) {
//printf("-------------------------> %i \n", esIndex);
//_______________________________________________________________________
Bool_t AliITSQASDDChecker::MakeSDDRecPointsImage(TObjArray ** list, AliQAv1::TASKINDEX_t task, AliQAv1::MODE_t mode )
{
+ // MakeSDDRecPointsImage: rec point QA plots
for (Int_t esIndex = 0 ; esIndex < AliRecoParam::kNSpecies ; esIndex++) {
if (! AliQAv1::Instance(AliQAv1::GetDetIndex(GetName()))->IsEventSpecieSet(AliRecoParam::ConvertIndex(esIndex)) || list[esIndex]->GetEntries() == 0)