]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliTPCcalibTracksGain.cxx
Pseudo code - description
[u/mrichter/AliRoot.git] / TPC / AliTPCcalibTracksGain.cxx
index 203ac0ecbd9070be7066c7621a1e1a92f4a41c31..8f81fb09027c59af05475656fff9f11848b1c239 100644 (file)
 #include <TProfile.h>
 #include <TProfile2D.h>
 #include <TProof.h>
+#include <TStatToolkit.h>
 
 //
 // AliRoot includes
@@ -355,7 +356,7 @@ AliTPCcalibTracksGain& AliTPCcalibTracksGain::operator=(const AliTPCcalibTracksG
    return *this;
 }
 
-AliTPCcalibTracksGain::AliTPCcalibTracksGain(const char* name, const char* title, AliTPCcalibTracksCuts* cuts, TNamed* /*debugStreamPrefix*/, AliTPCcalibTracksGain* prevIter) :
+AliTPCcalibTracksGain::AliTPCcalibTracksGain(const char* name, const char* title, AliTPCcalibTracksCuts* cuts) :
   AliTPCcalibBase(),
   fCuts(0),            // cuts that are used for sieving the tracks used for calibration
   fGainMap(0),                //  gain map to be applied
@@ -629,26 +630,26 @@ void AliTPCcalibTracksGain::Add(AliTPCcalibTracksGain* cal) {
    // Adds another AliTPCcalibTracksGain object to this object.
    //
    
-   fSimpleFitter->Add(cal->fSimpleFitter);
-   fSqrtFitter->Add(cal->fSqrtFitter);
-   fLogFitter->Add(cal->fLogFitter);
-   fSingleSectorFitter->Add(cal->fSingleSectorFitter);
-   //
-   //
-   //
-   fFitter0M->Add(cal->fFitter0M);
-   fFitter1M->Add(cal->fFitter1M);
-   fFitter2M->Add(cal->fFitter2M);
-   fFitter0T->Add(cal->fFitter0T);
-   fFitter1T->Add(cal->fFitter1T);
-   fFitter2T->Add(cal->fFitter2T);
-   //
-   fDFitter0M->Add(cal->fDFitter0M);
-   fDFitter1M->Add(cal->fDFitter1M);
-   fDFitter2M->Add(cal->fDFitter2M);
-   fDFitter0T->Add(cal->fDFitter0T);
-   fDFitter1T->Add(cal->fDFitter1T);
-   fDFitter2T->Add(cal->fDFitter2T);
+  fSimpleFitter->Add(cal->fSimpleFitter);
+  fSqrtFitter->Add(cal->fSqrtFitter);
+  fLogFitter->Add(cal->fLogFitter);
+  fSingleSectorFitter->Add(cal->fSingleSectorFitter);
+  //
+  //
+  //
+  if (cal->fFitter0M->GetNpoints()>0) fFitter0M->Add(cal->fFitter0M);
+  if (cal->fFitter1M->GetNpoints()>0) fFitter1M->Add(cal->fFitter1M);
+  if (cal->fFitter2M->GetNpoints()>0) fFitter2M->Add(cal->fFitter2M);
+  if (cal->fFitter0T->GetNpoints()>0) fFitter0T->Add(cal->fFitter0T);
+  if (cal->fFitter1T->GetNpoints()>0) fFitter1T->Add(cal->fFitter1T);
+  if (cal->fFitter2T->GetNpoints()>0) fFitter2T->Add(cal->fFitter2T);
+  //
+  if (cal->fDFitter0M->GetNpoints()>0) fDFitter0M->Add(cal->fDFitter0M);
+  if (cal->fDFitter1M->GetNpoints()>0) fDFitter1M->Add(cal->fDFitter1M);
+  if (cal->fDFitter2M->GetNpoints()>0) fDFitter2M->Add(cal->fDFitter2M);
+  if (cal->fDFitter0T->GetNpoints()>0) fDFitter0T->Add(cal->fDFitter0T);
+  if (cal->fDFitter1T->GetNpoints()>0) fDFitter1T->Add(cal->fDFitter1T);
+  if (cal->fDFitter2T->GetNpoints()>0) fDFitter2T->Add(cal->fDFitter2T);
    //
    //
    // histograms
@@ -1218,6 +1219,11 @@ void AliTPCcalibTracksGain::DumpTrack(AliTPCseed* track) {
    TTreeSRedirector * cstream =  GetDebugStreamer();
    if (cstream){
      (*cstream) << "Track" <<
+       "run="<<fRun<<              //  run number
+       "event="<<fEvent<<          //  event number
+       "time="<<fTime<<            //  time stamp of event
+       "trigger="<<fTrigger<<      //  trigger
+       "mag="<<fMagF<<             //  magnetic field        
        "Track.=" << track <<        // track information
        "\n";
      //
@@ -1225,6 +1231,11 @@ void AliTPCcalibTracksGain::DumpTrack(AliTPCseed* track) {
      //
      if ( GetStreamLevel()>1 && count>1){
        (*cstream) << "TrackG" <<
+        "run="<<fRun<<              //  run number
+        "event="<<fEvent<<          //  event number
+        "time="<<fTime<<            //  time stamp of event
+        "trigger="<<fTrigger<<      //  trigger
+        "mag="<<fMagF<<             //  magnetic field       
         "Track.=" << track <<        // track information
         "ncount="<<count<<
         // info for pad type 0
@@ -1414,6 +1425,12 @@ Bool_t AliTPCcalibTracksGain::GetDedx(AliTPCseed* track, Int_t padType, Int_t* /
       AddCluster(cluster, momenta, mdedx, padType, xcenter, dedxQ, dedxM, fraction, fraction2, dedge, parY, parZ, meanPos);
       Float_t gain = GetGain(cluster);
       if (cstream) (*cstream) << "dEdx" <<
+       "run="<<fRun<<              //  run number
+       "event="<<fEvent<<          //  event number
+       "time="<<fTime<<            //  time stamp of event
+       "trigger="<<fTrigger<<      //  trigger
+       "mag="<<fMagF<<             //  magnetic field        
+
                     "Cl.=" << cluster <<           // cluster of interest
                     "gain="<<gain<<                // gain at cluster position
                     "P=" << momenta <<             // track momenta
@@ -1432,6 +1449,11 @@ Bool_t AliTPCcalibTracksGain::GetDedx(AliTPCseed* track, Int_t padType, Int_t* /
    }
    
    if (cstream) (*cstream) << "dEdxT" <<
+     "run="<<fRun<<              //  run number
+     "event="<<fEvent<<          //  event number
+     "time="<<fTime<<            //  time stamp of event
+     "trigger="<<fTrigger<<      //  trigger
+     "mag="<<fMagF<<             //  magnetic field          
      "P=" << momenta <<             // track momenta
      "npoints="<<inonEdge<<         // number of points
      "sector="<<lastSector<<        // sector number
@@ -1683,7 +1705,13 @@ void  AliTPCcalibTracksGain::MakeQPosNormAll(TTree * chain, AliTPCClusterParam *
   // Fill the content of the of the AliTPCclusterParam
   // with fitted values of corrections 
   //
-  
+  param->fPosQTnorm[0] = MakeQPosNorm(chain,0,kTRUE,100000,kTRUE);
+  param->fPosQTnorm[1] = MakeQPosNorm(chain,1,kTRUE,100000,kTRUE);
+  param->fPosQTnorm[2] = MakeQPosNorm(chain,1,kTRUE,100000,kTRUE);
+  //
+  param->fPosQMnorm[0] = MakeQPosNorm(chain,0,kFALSE,100000,kTRUE);
+  param->fPosQMnorm[1] = MakeQPosNorm(chain,1,kFALSE,100000,kTRUE);
+  param->fPosQMnorm[2] = MakeQPosNorm(chain,2,kFALSE,100000,kTRUE);
 }