]> jspc29.x-matter.uni-frankfurt.de Git - radhard.git/commitdiff
Analyzer: Added F1 histogram
authorBenjamin Linnik <blinnik@jspc61.x-matter.uni-frankfurt.de>
Wed, 6 Dec 2017 16:43:47 +0000 (17:43 +0100)
committerBenjamin Linnik <blinnik@jspc61.x-matter.uni-frankfurt.de>
Wed, 6 Dec 2017 16:43:47 +0000 (17:43 +0100)
MABS_run_analyzer/ChargeSpektrum.c
MABS_run_analyzer/Run.c
MABS_run_analyzer/Run.h

index ac756af50506e684ba49f4002c56fef36a1ac95d..f1d6803fd16b1dc7ecb83d0a57dbaf736b6b5eee 100644 (file)
@@ -411,6 +411,16 @@ void ChargeSpektrum(TString runnumber = "")
                         CompareHistograms(&compareHistogramVectorF0);                        
                         compareHistogramVectorF0.clear();
                         
+                        // Plot overall F0 and F1 signal
+                        vector<TH1FO*> compareHistogramVectorF0F1;
+                        compareHistogramVectorF0F1.push_back(runs[runi]->averageF0Distr);
+                        compareHistogramVectorF0F1.push_back(runs[runi]->averageF1Distr);
+                        CompareHistograms(&compareHistogramVectorF0F1);                        
+                        compareHistogramVectorF0F1.clear();
+                        
+                        compareHistogramAllRunsVectorF0.push_back(runs[runi]->averageF0Distr);
+                        runs[runi]->plot1DHistogram( runs[runi]->averageF0Distr, "gaus", true);
+                        
                         compareHistogramAllRunsVectorF0.push_back(runs[runi]->averageF0Distr);
                         runs[runi]->plot1DHistogram( runs[runi]->averageF0Distr, "gaus", true);
                     }
index bfa8e9b113f23eb848a88d68dd3c7bc1f5ff47ea..30503df3b16542562a82ed8289a167bd9bd0699c 100644 (file)
@@ -1314,12 +1314,26 @@ Bool_t Run::binF0()
     averageF0Distr->SetNameTitle(Form("%d AvgF0",labbook.runnumber),Form("%d Average F0",labbook.runnumber));
     averageF0Distr->SetLineColor(2);
     averageF0Distr->itsHistogramType = histogram;  
+    averageF1DistrStart = (TH1FO*) averageF0DistrStart->Clone();
+    averageF1DistrStart->SetNameTitle(Form("%d AvgF1, first 1000 frames",labbook.runnumber),Form("%d Average F1, first 1000 frames",labbook.runnumber));
+    averageF1DistrStart->SetLineColor(1);
+    averageF1DistrStart->itsHistogramType = histogram;
+    averageF1DistrEnd = (TH1FO*) averageF0DistrStart->Clone();
+    averageF1DistrEnd->SetNameTitle(Form("%d AvgF1, last 1000 frames",labbook.runnumber),Form("%d Average F1, last 1000 frames",labbook.runnumber));
+    averageF1DistrEnd->SetLineColor(1+100);
+    averageF1DistrEnd->itsHistogramType = histogram;
+    averageF1Distr = (TH1FO*) averageF0DistrStart->Clone();
+    averageF1Distr->SetNameTitle(Form("%d AvgF1",labbook.runnumber),Form("%d Average F1",labbook.runnumber));
+    averageF1Distr->SetLineColor(2);
+    averageF1Distr->itsHistogramType = histogram;  
     
 
     Double_t const probabilities[] = {0.158655254, 0.5, 1-0.158655254}; // sigma/2 from gaus to the left and to the right //{0.17, 0.5, 1-0.17};
     Double_t avgF0ForPixel [cursensorinfo.columns*cursensorinfo.rows];
+    Double_t avgF1ForPixel [cursensorinfo.columns*cursensorinfo.rows];
     Double_t numberofconsideredpixel = 0;
     Int_t* fF0matrix;
+    Int_t* fF1matrix;
     
     
     for (Int_t pixeli=0; pixeli<cursensorinfo.columns*cursensorinfo.rows ; pixeli++) { // loop over all pixel
@@ -1330,15 +1344,19 @@ Bool_t Run::binF0()
         for (Int_t pixeli=0; pixeli<cursensorinfo.columns*cursensorinfo.rows ; pixeli++) { // loop over all pixel
             if (pixeli%cursensorinfo.columns) { // Not marker pixel 
                 fF0matrix = processed->GetF0Frame();
+                fF1matrix = processed->GetF1Frame();
                 avgF0ForPixel[pixeli] += fF0matrix[pixeli]; // sum up all pedestals for a given pixel, we need this to calculate an average F0 (average signal)
+                avgF1ForPixel[pixeli] += fF1matrix[pixeli]; // sum up all pedestals for a given pixel, we need this to calculate an average F0 (average signal)
                 numberofconsideredpixel++;
             }
         }
     }    
     for (Int_t pixeli=0; pixeli<cursensorinfo.columns*cursensorinfo.rows ; pixeli++) { // loop over all pixel
         avgF0ForPixel[pixeli] /= 1000;
+        avgF1ForPixel[pixeli] /= 1000;
         averageF0PixelwiseStart->Fill(pixeli+1, avgF0ForPixel[pixeli]);
         averageF0DistrStart->Fill(avgF0ForPixel[pixeli]);
+        averageF1DistrStart->Fill(avgF1ForPixel[pixeli]);
     }
     
     
@@ -1346,6 +1364,7 @@ Bool_t Run::binF0()
     numberofconsideredpixel = 0;
     for (Int_t pixeli=0; pixeli<cursensorinfo.columns*cursensorinfo.rows ; pixeli++) { // loop over all pixel
         avgF0ForPixel[pixeli]=0;
+        avgF1ForPixel[pixeli]=0;
     }
         
     for (Int_t framei=processed->fHitTree->GetEntries()-1000; framei<processed->fHitTree->GetEntries(); framei++) { // loop over all frames
@@ -1353,7 +1372,9 @@ Bool_t Run::binF0()
         for (Int_t pixeli=0; pixeli<cursensorinfo.columns*cursensorinfo.rows ; pixeli++) { // loop over all pixel
             if (pixeli%cursensorinfo.columns) { // Not marker pixel 
                 fF0matrix = processed->GetF0Frame();
+                fF1matrix = processed->GetF1Frame();
                 avgF0ForPixel[pixeli] += fF0matrix[pixeli]; // sum up all pedestals for a given pixel, we need this to calculate an average F0 (average signal)
+                avgF1ForPixel[pixeli] += fF1matrix[pixeli]; // sum up all pedestals for a given pixel, we need this to calculate an average F0 (average signal)
                 numberofconsideredpixel++;
             }
         }
@@ -1361,16 +1382,21 @@ Bool_t Run::binF0()
     
     for (Int_t pixeli=0; pixeli<cursensorinfo.columns*cursensorinfo.rows ; pixeli++) { // loop over all pixel
         avgF0ForPixel[pixeli] /= 1000;
+        avgF1ForPixel[pixeli] /= 1000;
         averageF0PixelwiseEnd->Fill(pixeli+1, avgF0ForPixel[pixeli]);
         averageF0DistrEnd->Fill(avgF0ForPixel[pixeli]);
+        averageF1DistrEnd->Fill(avgF1ForPixel[pixeli]);
     }
     
     
     //  sum up end and beginning
     averageF0Distr->Add(averageF0DistrStart);
     averageF0Distr->Add(averageF0DistrEnd);
+    averageF1Distr->Add(averageF1DistrStart);
+    averageF1Distr->Add(averageF1DistrEnd);
     for (Int_t bini=1; bini <= averageF0Distr->GetXaxis()->GetNbins(); bini++) { // loop over all pixel
         averageF0Distr->SetBinContent(bini, averageF0Distr->GetBinContent(bini)/2);
+        averageF1Distr->SetBinContent(bini, averageF1Distr->GetBinContent(bini)/2);
     }
     
     
index ad48f653be9be465d589964072c5acd04de1070b..b1d811faaf21f2cea2729f3e66ed0c0391f10e17 100644 (file)
@@ -408,12 +408,16 @@ public:
     TH1FO* averageF0Hist = 0;   
         
     /** @brief The average F0 value of the run over some frames, for each pixel */
-    TH1FO* averageF0PixelwiseStart = 0; // Over first 1000 frames
-    TH1FO* averageF0PixelwiseEnd = 0;   // Over last  1000 frames    
+    TH1FO* averageF0PixelwiseStart = 0; // Over first 1000 frames for each pixel
+    TH1FO* averageF0PixelwiseEnd = 0;   // Over last  1000 frames for each pixel 
         
     TH1FO* averageF0DistrStart = 0; // Over first 1000 frames
     TH1FO* averageF0DistrEnd = 0;   // Over last  1000 frames 
-    TH1FO* averageF0Distr = 0;   // Over all frames 
+    TH1FO* averageF0Distr = 0;   // Over first 1000 frames and last 1000 frames 
+    
+    TH1FO* averageF1DistrStart = 0; // Over first 1000 frames
+    TH1FO* averageF1DistrEnd = 0;   // Over last  1000 frames 
+    TH1FO* averageF1Distr = 0;   // Over first 1000 frames and last 1000 frames 
             
     /** @brief Plots all histograms from #Run::HistogramType into one canvas 
      *