]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCcalibLaser.cxx
Analysis code updated
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibLaser.cxx
index 42b3aed2c88aeeb8fa68247f914da9f358bf924f..6331fac40819cc9c59c6b6cc3f35734a02ce2745 100644 (file)
@@ -591,6 +591,7 @@ void AliTPCcalibLaser::Process(AliESDEvent * event) {
   if (!fESDfriend) {
     return;
   }
+  if (fESDfriend->TestSkipBit()) return;
   if (fESD->GetNumberOfTracks()<kMinTracks) return; //not enough tracks
   AliDebug(4,Form("Event number in current file: %d",event->GetEventNumberInFile()));
   //
@@ -648,7 +649,7 @@ void AliTPCcalibLaser::Process(AliESDEvent * event) {
   static Bool_t init=kFALSE;
   if (!init){
     init = kTRUE;  // way around for PROOF - to be investigated
-    MakeFitHistos();
+    UpdateFitHistos();
   }
   //
   for (Int_t id=0; id<336; id++){    
@@ -677,7 +678,7 @@ void AliTPCcalibLaser::MakeDistHisto(Int_t id){
     //
     //
     TH1F * hisdz = (TH1F*)fDeltaZ.At(id);
-    if (!hisdz) MakeFitHistos();
+    if (!hisdz) UpdateFitHistos();
     hisdz = (TH1F*)fDeltaZ.At(id);
     TH1F * hisP3 = (TH1F*)fDeltaP3.At(id);
     TH1F * hisP4 = (TH1F*)fDeltaP4.At(id);
@@ -2101,7 +2102,7 @@ void AliTPCcalibLaser::RefitLaserJW(Int_t id){
       //==========================//
       // Fill Residual Histograms //
       //==========================//
-      if (!fHisNclIn) MakeFitHistos(); 
+      if (!fHisNclIn) UpdateFitHistos(); 
 
       TH2F *profy = (TH2F*)fDeltaYres.UncheckedAt(id);
       TH2F *profz = (TH2F*)fDeltaZres.UncheckedAt(id);
@@ -3278,9 +3279,10 @@ Long64_t AliTPCcalibLaser::Merge(TCollection *li) {
       if (!h &&hm &&hm->GetEntries()>0) {
        h=(TH1F*)hm->Clone();
        h->SetDirectory(0);
-       fDeltaZ.AddAt(h,id);
+       fDeltaZ.AddAt(h,id);      
       }
-      if (hm) h->Add(hm);
+      if (h && hm) h->Add(hm);
+
       // merge fP3 histograms
       hm = (TH1F*)cal->fDeltaP3.At(id);
       h  = (TH1F*)fDeltaP3.At(id);
@@ -3289,7 +3291,7 @@ Long64_t AliTPCcalibLaser::Merge(TCollection *li) {
        h->SetDirectory(0);
        fDeltaP3.AddAt(h,id);
       }
-      if (hm) h->Add(hm);
+      if (h && hm) h->Add(hm);
       // merge fP4 histograms
       hm = (TH1F*)cal->fDeltaP4.At(id);
       h  = (TH1F*)fDeltaP4.At(id);
@@ -3298,7 +3300,7 @@ Long64_t AliTPCcalibLaser::Merge(TCollection *li) {
        h->SetDirectory(0);
        fDeltaP4.AddAt(h,id);
       }
-      if (hm) h->Add(hm);
+      if (h&&hm) h->Add(hm);
 
       //
       // merge fDeltaPhi histograms
@@ -3309,7 +3311,7 @@ Long64_t AliTPCcalibLaser::Merge(TCollection *li) {
        h->SetDirectory(0);
        fDeltaPhi.AddAt(h,id);
       }
-      if (hm) h->Add(hm);
+      if (h&&hm) h->Add(hm);
       // merge fDeltaPhiP histograms
       hm = (TH1F*)cal->fDeltaPhiP.At(id);
       h  = (TH1F*)fDeltaPhiP.At(id);
@@ -3318,7 +3320,7 @@ Long64_t AliTPCcalibLaser::Merge(TCollection *li) {
        h->SetDirectory(0);
        fDeltaPhiP.AddAt(h,id);
       }
-      if (hm) h->Add(hm);
+      if (h&&hm) h->Add(hm);
       // merge fSignals histograms
       hm = (TH1F*)cal->fSignals.At(id);
       h  = (TH1F*)fSignals.At(id);
@@ -3327,7 +3329,7 @@ Long64_t AliTPCcalibLaser::Merge(TCollection *li) {
        h->SetDirectory(0);
        fSignals.AddAt(h,id);
       }
-      if (hm) h->Add(hm);
+      if (h&&hm) h->Add(hm);
       //
       //
       // merge ProfileY histograms -0
@@ -3371,7 +3373,7 @@ Long64_t AliTPCcalibLaser::Merge(TCollection *li) {
   return 0;
 }
 
-void   AliTPCcalibLaser::MakeFitHistos(){
+void AliTPCcalibLaser::MakeFitHistos(){
   //
   // Make a fit histograms
   // 
@@ -3517,9 +3519,9 @@ void   AliTPCcalibLaser::MakeFitHistos(){
     TH2F *profz = (TH2F*)fDeltaZres.UncheckedAt(id);
     //TH2F *profy2 = (TH2F*)fDeltaYres2.UncheckedAt(id);
     TH2F *profy2 = 0;
-    TH2F *profz2 = (TH2F*)fDeltaZres2.UncheckedAt(id);
-    TH2F *profyabs = (TH2F*)fDeltaYresAbs.UncheckedAt(id);
-    TH2F *profzabs = (TH2F*)fDeltaYresAbs.UncheckedAt(id);
+    TH2F *profz2 = 0;//(TH2F*)fDeltaZres2.UncheckedAt(id);
+    TH2F *profyabs = 0; //(TH2F*)fDeltaYresAbs.UncheckedAt(id);
+    TH2F *profzabs = 0; //(TH2F*)fDeltaYresAbs.UncheckedAt(id);
     //    TH2F *profy3 = (TH2F*)fDeltaYres3.UncheckedAt(id);
     //TH2F *profz3 = (TH2F*)fDeltaZres3.UncheckedAt(id);
     if (!profy){
@@ -3563,11 +3565,11 @@ void   AliTPCcalibLaser::MakeFitHistos(){
     TH1F * hisdz = (TH1F*)fDeltaZ.At(id);
     //TH1F * hisP3 = (TH1F*)fDeltaP3.At(id);
     TH1F * hisP3 = 0;
-    TH1F * hisP4 = (TH1F*)fDeltaP4.At(id);
+    TH1F * hisP4 = 0;
     
-    TH1F * hisdphi = (TH1F*)fDeltaPhi.At(id);
-    TH1F * hisdphiP = (TH1F*)fDeltaPhiP.At(id);
-    TH1F * hisSignal = (TH1F*)fSignals.At(id);
+    TH1F * hisdphi = 0;//(TH1F*)fDeltaPhi.At(id);
+    TH1F * hisdphiP = 0;//(TH1F*)fDeltaPhiP.At(id);
+    TH1F * hisSignal = 0; //(TH1F*)fSignals.At(id);
 
     if (!hisdz){
       hisdz = new TH1F(Form("hisdz%d",id),Form("hisdz%d",id),1000,-10,10);
@@ -3596,10 +3598,6 @@ void   AliTPCcalibLaser::MakeFitHistos(){
     }
   }
 
-  SetBeamParameters(fBeamOffsetZOuter, fBeamSlopeZOuter, fBeamSectorOuter,2);
-  SetBeamParameters(fBeamOffsetZInner, fBeamSlopeZInner, fBeamSectorInner,3);
-  SetBeamParameters(fBeamOffsetYOuter, fBeamSlopeYOuter, fBeamSectorOuter,0);
-  SetBeamParameters(fBeamOffsetYInner, fBeamSlopeYInner, fBeamSectorInner,1);
   //
   // Make THnSparse
   //
@@ -3698,6 +3696,15 @@ void   AliTPCcalibLaser::MakeFitHistos(){
   }
 }
 
+void AliTPCcalibLaser::UpdateFitHistos(){
+  //create the fit histos and set the beam parameters(needs OCDB access)
+  MakeFitHistos();
+  SetBeamParameters(fBeamOffsetZOuter, fBeamSlopeZOuter, fBeamSectorOuter,2);
+  SetBeamParameters(fBeamOffsetZInner, fBeamSlopeZInner, fBeamSectorInner,3);
+  SetBeamParameters(fBeamOffsetYOuter, fBeamSlopeYOuter, fBeamSectorOuter,0);
+  SetBeamParameters(fBeamOffsetYInner, fBeamSlopeYInner, fBeamSectorInner,1);
+}
+
 void AliTPCcalibLaser::MergeFitHistos(AliTPCcalibLaser * laser){
   //
   // Merge content of histograms