Method to set uniform gain and some small corrections
authormbroz <Michal.Broz@cern.ch>
Mon, 2 Feb 2015 22:48:00 +0000 (23:48 +0100)
committermbroz <Michal.Broz@cern.ch>
Mon, 2 Feb 2015 22:48:00 +0000 (23:48 +0100)
AD/ADbase/AliADCalibData.cxx
AD/ADbase/AliADCalibData.h
AD/ADrec/AliADQADataMakerRec.cxx
AD/ADrec/AliADQADataMakerRec.h
AD/ADsim/AliADQADataMakerSim.cxx

index 7ec428b..67ac300 100644 (file)
@@ -53,7 +53,7 @@ AliADCalibData::AliADCalibData():
     for(int t=0; t<16; t++) {
         fMeanHV[t]      = 1400.0;
         fWidthHV[t]     = 0.0; 
-       fTimeOffset[t]  = 230.0;
+       fTimeOffset[t]  = 250.0;
         fTimeGain[t]    = 1.0;
        fDeadChannel[t]= kFALSE;
        fDiscriThr[t]  = 2.5;
@@ -371,6 +371,19 @@ void AliADCalibData::FillDCSData(AliADDataDCS * data){
 
 }
 //_____________________________________________________________________________
+void AliADCalibData::SetADCperMIP(Int_t nADCperMIP){
+       //Sets HV in a way to have uniform gains on PM according  
+       //to number of ADC per MIP 
+       if (!fPMGainsA) InitPMGains();
+       Double_t hv = 0;
+       for(Int_t channel = 0; channel<16; channel++){
+               hv = TMath::Power(nADCperMIP,1/fPMGainsB[channel])*fPMGainsA[channel];
+               SetMeanHV(hv,channel);
+               AliInfo(Form("HV on channel %d set to %f V",channel,hv));
+               }
+}
+
+//_____________________________________________________________________________
 void AliADCalibData::SetParameter(TString name, Int_t val){
        // Set given parameter
        
index 773dc43..c0b7bf6 100644 (file)
@@ -164,6 +164,8 @@ class AliADCalibData: public TNamed {
 
   void     SetDiscriThr(Float_t thr, Int_t board, Int_t channel);
   void     SetDiscriThr(const Float_t* thresholds);
+  
+  void    SetADCperMIP(Int_t nADCperMIP);
 
   void SetClk1Win1(UShort_t* clks);
   void SetClk1Win1(UShort_t clk, Int_t board);
index 5e8ab62..44ebd77 100644 (file)
@@ -185,7 +185,7 @@ void AliADQADataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArra
   // Does the QA checking
   ResetEventTrigClasses();
   //
-  AliQAChecker::Instance()->Run(AliQAv1::kAD, task, list) ;
+  
   
   if(task == AliQAv1::kRAWS){
     TTimeStamp currentTime;
@@ -199,6 +199,7 @@ void AliADQADataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArra
     } else if (task == AliQAv1::kESDS) {
     }
   }
+  AliQAChecker::Instance()->Run(AliQAv1::kAD, task, list) ;
 }
 
 //____________________________________________________________________________ 
@@ -206,37 +207,33 @@ void AliADQADataMakerRec::InitESDs()
 {
   const Bool_t expert   = kTRUE ; 
   const Bool_t image    = kTRUE ; 
-       
-  TH2F * h2d;
-  TH1I * h1i;
-  TH1F * h1d;
-               
-  h1i = new TH1I("H1I_Cell_Multiplicity_ADA", "Cell Multiplicity in ADA;Multiplicity (Nb of Cell);Counts", 35, 0, 35) ;  
-  Add2ESDsList(h1i, kCellMultiADA, !expert, image)  ;  
+
+  TH1I * h0 = new TH1I("H1I_Cell_Multiplicity_ADA", "Cell Multiplicity in ADA;Multiplicity (Nb of Cell);Counts", 35, 0, 35) ;  
+  Add2ESDsList(h0, kCellMultiADA, !expert, image)  ;  
                                                                                                         
-  h1i = new TH1I("H1I_Cell_Multiplicity_ADC", "Cell Multiplicity in AD;Multiplicity (Nb of Cell);Counts", 35, 0, 35) ;  
-  Add2ESDsList(h1i, kCellMultiADC, !expert, image)  ;  
+  TH1I * h1 = new TH1I("H1I_Cell_Multiplicity_ADC", "Cell Multiplicity in AD;Multiplicity (Nb of Cell);Counts", 35, 0, 35) ;  
+  Add2ESDsList(h1, kCellMultiADC, !expert, image)  ;  
   
-  h1d = new TH1F("H1D_BBFlag_Counters", "BB Flag Counters;Channel;Counts",64, 0, 64) ;  
-  Add2ESDsList(h1d, kBBFlag, !expert, image)  ;  
+  TH1F * h2 = new TH1F("H1D_BBFlag_Counters", "BB Flag Counters;Channel;Counts",16, 0, 16) ;  
+  Add2ESDsList(h2, kBBFlag, !expert, image)  ;  
   
-  h1d = new TH1F("H1D_BGFlag_Counters", "BG Flag Counters;Channel;Counts",64, 0, 64) ;  
-  Add2ESDsList(h1d, kBGFlag, !expert, image)  ;  
+  TH1F * h3 = new TH1F("H1D_BGFlag_Counters", "BG Flag Counters;Channel;Counts",16, 0, 16) ;  
+  Add2ESDsList(h3, kBGFlag, !expert, image)  ;  
   
-  h2d = new TH2F("H2D_Charge_Channel", "ADC Charge per channel;Channel;Charge (ADC counts)",64, 0, 64, 1024, 0, 1024) ;  
-  Add2ESDsList(h2d, kChargeChannel, !expert, image)  ;  
+  TH2F * h4 = new TH2F("H2D_Charge_Channel", "ADC Charge per channel;Channel;Charge (ADC counts)",16, 0, 16, 1024, 0, 1024) ;  
+  Add2ESDsList(h4, kChargeChannel, !expert, image)  ;  
   
-  h2d = new TH2F("H2D_Time_Channel", "Time per channel;Channel;Time (ns)",64, 0, 64, 400, -100, 100) ;  
-  Add2ESDsList(h2d, kTimeChannel, !expert, image)  ;  
+  TH2F * h5 = new TH2F("H2D_Time_Channel", "Time per channel;Channel;Time (ns)",16, 0, 16, 400, -100, 100) ;  
+  Add2ESDsList(h5, kTimeChannel, !expert, image)  ;  
   
-  h1d = new TH1F("H1D_ADA_Time", "Mean ADA Time;Time (ns);Counts",1000, -100., 100.);
-  Add2ESDsList(h1d,kESDADATime, !expert, image); 
+  TH1F * h6 = new TH1F("H1D_ADA_Time", "Mean ADA Time;Time (ns);Counts",1000, -100., 100.);
+  Add2ESDsList(h6,kESDADATime, !expert, image); 
   
-  h1d = new TH1F("H1D_ADC_Time", "Mean ADC Time;Time (ns);Counts",1000, -100., 100.);
-  Add2ESDsList(h1d,kESDADCTime, !expert, image); 
+  TH1F * h7 = new TH1F("H1D_ADC_Time", "Mean ADC Time;Time (ns);Counts",1000, -100., 100.);
+  Add2ESDsList(h7,kESDADCTime, !expert, image); 
   
-  h1d = new TH1F("H1D_Diff_Time", "Diff Time ADA - ADC;Diff Time ADA - ADC (ns);Counts",1000, -200., 200.);
-  Add2ESDsList(h1d,kESDDiffTime, !expert, image); 
+  TH1F * h8 = new TH1F("H1D_Diff_Time", "Diff Time ADA - ADC;Diff Time ADA - ADC (ns);Counts",1000, -200., 200.);
+  Add2ESDsList(h8,kESDDiffTime, !expert, image); 
   //
   ClonePerTrigClass(AliQAv1::kESDS); // this should be the last line   
 }
@@ -303,7 +300,6 @@ void AliADQADataMakerRec::MakeDigits()
     while ( (ADDigit = dynamic_cast<AliADdigit *>(next())) ) {
          Int_t totCharge = 0;
          Int_t   PMNumber  = ADDigit->PMNumber();
-
         if(PMNumber<8 && ADDigit->GetBBflag()) nBBflagsADA++;
         if(PMNumber>7 && ADDigit->GetBBflag()) nBBflagsADC++;
         
index 573627c..fef9e71 100644 (file)
@@ -70,7 +70,7 @@ private:
   Float_t            fTimeOffset[16]; //! HPTDC time offsets channel by channel
   TF1*               fTimeSlewing;    //! Function for time slewing correction
 
-  ClassDef(AliADQADataMakerRec,4)  // description 
+  ClassDef(AliADQADataMakerRec,1)  // description 
 
 };
 
index 2544f9a..4464902 100644 (file)
@@ -297,7 +297,7 @@ void AliADQADataMakerSim::MakeSDigits()
          Int_t   PMNumber  = ADSDigit->PMNumber();
         Int_t   Nbins = ADSDigit->GetNBins();
         Double_t totCharge = 0;
-        //Double_t *Charges = 
+       
         for(Int_t i = 0; i<Nbins; i++)totCharge += ADSDigit->GetCharges()[i];       
          FillSDigitsData(1, PMNumber, totCharge) ;
     }