]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCQADataMakerRec.cxx
- changes due to deletion of files
[u/mrichter/AliRoot.git] / TPC / AliTPCQADataMakerRec.cxx
index f49be1a2daae00d937a2a2ecc2f4bc6128fd6d57..1ef3b42b17da140ddf064c4b44efea1c02e36aff 100644 (file)
@@ -52,6 +52,7 @@
 #include <TString.h>
 #include <TSystem.h>
 #include <TBox.h>
+#include <TLine.h>
 
 // --- Standard library ---
 
@@ -270,16 +271,40 @@ void AliTPCQADataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArr
          
          Double_t xminQmax = histRawsQmaxVsSector->GetXaxis()->GetXmin();
          Double_t xmaxQmax = histRawsQmaxVsSector->GetXaxis()->GetXmax();
-         Double_t yminQmax = histRawsQmaxVsSector->GetMinimum();
-         Double_t ymaxQmax = histRawsQmaxVsSector->GetMaximum();
+//       Double_t yminQmax = histRawsQmaxVsSector->GetMinimum();
+//       Double_t ymaxQmax = histRawsQmaxVsSector->GetMaximum();
          
-         TBox* boxOccOk = new TBox(xminOcc,0,xmaxOcc,fOccHighLimit);
-         boxOccOk->SetFillColor(kGreen);
-         histRawsOccupancyVsSector->GetListOfFunctions()->Add(boxOccOk);
-         
-         TBox* boxQmaxOk = new TBox(xminQmax,fQmaxLowLimit,xmaxQmax,fQmaxHighLimit);
-         boxQmaxOk->SetFillColor(kGreen);
-         histRawsQmaxVsSector->GetListOfFunctions()->Add(boxQmaxOk);
+         // For reasons not understood the following stopped working
+         // in the DQM and instead lines were adopted:
+//       TBox* boxOccOk = new TBox(xminOcc,0,xmaxOcc,fOccHighLimit);
+//       boxOccOk->SetFillColor(kGreen);
+//       histRawsOccupancyVsSector->GetListOfFunctions()->Add(boxOccOk);
+
+         TLine* lineOccMin = new TLine(xminOcc,0,xmaxOcc,0);
+         lineOccMin->SetLineColor(kGreen);
+         lineOccMin->SetLineWidth(2);
+         histRawsOccupancyVsSector->GetListOfFunctions()->Add(lineOccMin);
+
+         TLine* lineOccMax = new TLine(xminOcc,fOccHighLimit, xmaxOcc,fOccHighLimit);
+         lineOccMax->SetLineColor(kGreen);
+         lineOccMax->SetLineWidth(2);
+         histRawsOccupancyVsSector->GetListOfFunctions()->Add(lineOccMax);
+
+         // For some reason this dtopped working
+//       TBox* boxQmaxOk = new TBox(xminQmax,fQmaxLowLimit,xmaxQmax,fQmaxHighLimit);
+//       boxQmaxOk->SetFillColor(kGreen);
+//       histRawsQmaxVsSector->GetListOfFunctions()->Add(boxQmaxOk);
+
+         TLine* lineQmaxMin = new TLine(xminQmax,fQmaxLowLimit, xmaxQmax,fQmaxLowLimit);
+         lineQmaxMin->SetLineColor(kGreen);
+         lineQmaxMin->SetLineWidth(2);
+         histRawsQmaxVsSector->GetListOfFunctions()->Add(lineQmaxMin);
+
+         TLine* lineQmaxMax = new TLine(xminQmax,fQmaxHighLimit, xmaxQmax,fQmaxHighLimit);
+         lineQmaxMax->SetLineColor(kGreen);
+         lineQmaxMax->SetLineWidth(2);
+         histRawsQmaxVsSector->GetListOfFunctions()->Add(lineQmaxMax);
          
          
          for(Int_t bin = 1; bin <= 72; bin++) {
@@ -293,7 +318,7 @@ void AliTPCQADataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArr
                new TBox(histRawsOccupancyVsSector->GetXaxis()->GetBinLowEdge(bin), yminOcc,
                         histRawsOccupancyVsSector->GetXaxis()->GetBinUpEdge(bin), ymaxOcc);
              boxErr->SetFillColor(kRed);
-             histRawsOccupancyVsSector->GetListOfFunctions()->Add(boxErr);
+             //              histRawsOccupancyVsSector->GetListOfFunctions()->Add(boxErr);
            }
            
            if(histRawsQmaxVsSector->GetBinContent(bin)<fQmaxLowLimit||
@@ -302,23 +327,27 @@ void AliTPCQADataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArr
              // Mark that histogram has error
              histRawsQmaxVsSector->SetBit(AliQAv1::GetQABit());
 
-             TBox* boxErr = 
-               new TBox(histRawsQmaxVsSector->GetXaxis()->GetBinLowEdge(bin), yminQmax,
-                        histRawsQmaxVsSector->GetXaxis()->GetBinUpEdge(bin), ymaxQmax);
-             boxErr->SetFillColor(kRed);
-             histRawsQmaxVsSector->GetListOfFunctions()->Add(boxErr);
+         // For reasons not understood the following stopped working
+         // in the DQM and instead lines were adopted:
+//           TBox* boxErr = 
+//             new TBox(histRawsQmaxVsSector->GetXaxis()->GetBinLowEdge(bin), yminQmax,
+//                      histRawsQmaxVsSector->GetXaxis()->GetBinUpEdge(bin), ymaxQmax);
+//           boxErr->SetFillColor(kRed);
+             //              histRawsQmaxVsSector->GetListOfFunctions()->Add(boxErr);
            }
          }
 
+         // For reasons not understood the following stopped working
+         // in the DQM and instead lines were adopted:
          // Now we have to add a copy of the histograms to draw
          // because the boxes covers the data points
-         TH1F* hOccCopy = new TH1F(*histRawsOccupancyVsSector);
-         hOccCopy->SetOption("SAME P");
-         histRawsOccupancyVsSector->GetListOfFunctions()->Add(hOccCopy);
+//       TH1F* hOccCopy = new TH1F(*histRawsOccupancyVsSector);
+//       hOccCopy->SetOption("SAME P");
+//       histRawsOccupancyVsSector->GetListOfFunctions()->Add(hOccCopy);
 
-         TH1F* hQmaxCopy = new TH1F(*histRawsQmaxVsSector);
-         hQmaxCopy->SetOption("SAME P");
-         histRawsQmaxVsSector->GetListOfFunctions()->Add(hQmaxCopy);
+//       TH1F* hQmaxCopy = new TH1F(*histRawsQmaxVsSector);
+//       hQmaxCopy->SetOption("SAME P");
+//       histRawsQmaxVsSector->GetListOfFunctions()->Add(hQmaxCopy);
 
        } // end beautify
       }
@@ -389,7 +418,7 @@ void AliTPCQADataMakerRec::InitRaws()
     new TH1F("hRawsOccupancy", "Occupancy (all pads); Occupancy; Counts",
             100, 0, 1);
   histRawsOccupancy->Sumw2();
-  Add2RawsList(histRawsOccupancy, kRawsOccupancy, expert, image, !saveCorr);
+  Add2RawsList(histRawsOccupancy, kRawsOccupancy, expert, !image, !saveCorr);
   
   TH1F * histRawsOccupancyVsSector = 
     new TH1F("hRawsOccupancyVsSector", "Occupancy vs sector; Sector; Occupancy",
@@ -404,13 +433,13 @@ void AliTPCQADataMakerRec::InitRaws()
     new TH1F("hRawsNClustersPerEventVsSector", "Nclusters per event vs sector; Sector; Nclusters per event",
             72, 0, 72);
   histRawsNClustersPerEventVsSector->Sumw2();
-  Add2RawsList(histRawsNClustersPerEventVsSector, kRawsNClustersPerEventVsSector, expert, image, !saveCorr);
+  Add2RawsList(histRawsNClustersPerEventVsSector, kRawsNClustersPerEventVsSector, expert, !image, !saveCorr);
   
   TH1F * histRawsQVsSector = 
     new TH1F("hRawsQVsSector", "<Q> vs sector; Sector; <Q>",
             72, 0, 72);
   histRawsQVsSector->Sumw2();
-  Add2RawsList(histRawsQVsSector, kRawsQVsSector, expert, image, !saveCorr);
+  Add2RawsList(histRawsQVsSector, kRawsQVsSector, expert, !image, !saveCorr);
 
   TH1F * histRawsQmaxVsSector = 
     new TH1F("hRawsQmaxVsSector", "<Qmax> vs sector; Sector; <Qmax>",
@@ -427,6 +456,8 @@ void AliTPCQADataMakerRec::InitRaws()
     new TH1F("hRawsOccupancyVsEvent", hOccHelp->GetTitle(),
             hOccHelp->GetXaxis()->GetNbins(),
             hOccHelp->GetXaxis()->GetXmin(), hOccHelp->GetXaxis()->GetXmax());
+  histRawsOccupancyVsEvent->GetXaxis()->SetTitle(hOccHelp->GetXaxis()->GetTitle());
+  histRawsOccupancyVsEvent->GetYaxis()->SetTitle(hOccHelp->GetYaxis()->GetTitle());
   histRawsOccupancyVsEvent->SetMarkerStyle(20);
   histRawsOccupancyVsEvent->SetOption("P");
   histRawsOccupancyVsEvent->SetStats(kFALSE);
@@ -438,6 +469,8 @@ void AliTPCQADataMakerRec::InitRaws()
     new TH1F("hRawsNclustersVsEvent", hNclHelp->GetTitle(),
             hNclHelp->GetXaxis()->GetNbins(),
             hNclHelp->GetXaxis()->GetXmin(), hNclHelp->GetXaxis()->GetXmax());
+  histRawsNclustersVsEvent->GetXaxis()->SetTitle(hNclHelp->GetXaxis()->GetTitle());
+  histRawsNclustersVsEvent->GetYaxis()->SetTitle(hNclHelp->GetYaxis()->GetTitle());
   histRawsNclustersVsEvent->SetMarkerStyle(20);
   histRawsNclustersVsEvent->SetOption("P");
   histRawsNclustersVsEvent->SetStats(kFALSE);
@@ -644,3 +677,43 @@ void AliTPCQADataMakerRec::LoadMaps()
   }
 }
 
+//____________________________________________________________________________
+void AliTPCQADataMakerRec::ResetDetector(AliQAv1::TASKINDEX_t task)
+{
+  // Overwrites general method for RAW data.
+  // The AliTPCdataQA elements that does the internal processing are
+  // in the case they have processed data deleted and new are created
+
+  if ( task != AliQAv1::kRAWS )
+    AliQADataMakerRec::ResetDetector(task);
+  
+  for (Int_t specie = 0 ; specie < AliRecoParam::kNSpecies ; specie++) {
+    
+    if ( fTPCdataQA[specie] != NULL) { // exist
+      
+      if(fTPCdataQA[specie]->GetEventCounter()>0) { // has processed data
+       
+       // old configuration
+       Int_t  firstTime    = fTPCdataQA[specie]->GetFirstTimeBin();
+       Int_t  lastTime     = fTPCdataQA[specie]->GetLastTimeBin();
+       Int_t  minADC       = fTPCdataQA[specie]->GetAdcMin();
+       Int_t  maxADC       = fTPCdataQA[specie]->GetAdcMax();
+       Int_t  maxEvents    = fTPCdataQA[specie]->GetMaxEvents();
+       Int_t  eventsPerBin = fTPCdataQA[specie]->GetEventsPerBin();
+
+       //delete old
+       delete fTPCdataQA[specie]; 
+
+       // create new
+       fTPCdataQA[specie] = new AliTPCdataQA(AliRecoParam::ConvertIndex(specie));
+       // configure new
+       LoadMaps(); // Load Altro maps
+       fTPCdataQA[specie]->SetAltroMapping(fMapping);
+       fTPCdataQA[specie]->SetRangeTime(firstTime, lastTime);
+       fTPCdataQA[specie]->SetRangeAdc(minADC, maxADC);
+       fTPCdataQA[specie]->SetMaxEvents(maxEvents);
+       fTPCdataQA[specie]->SetEventsPerBin(eventsPerBin);
+      }
+    }
+  }
+}