LCOV - code coverage report
Current view: top level - HMPID/HMPIDbase - AliHMPID.cxx (source / functions) Hit Total Coverage
Test: coverage.info Lines: 36 36 100.0 %
Date: 2016-06-14 17:26:59 Functions: 5 7 71.4 %

          Line data    Source code
       1             : //  **************************************************************************
       2             : //  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       3             : //  *                                                                        *
       4             : //  * Author: The ALICE Off-line Project.                                    *
       5             : //  * Contributors are mentioned in the code where appropriate.              *
       6             : //  *                                                                        *
       7             : //  * Permission to use, copy, modify and distribute this software and its   *
       8             : //  * documentation strictly for non-commercial purposes is hereby granted   *
       9             : //  * without fee, provided that the above copyright notice appears in all   *
      10             : //  * copies and that both the copyright notice and this permission notice   *
      11             : //  * appear in the supporting documentation. The authors make no claims     *
      12             : //  * about the suitability of this software for any purpose. It is          *
      13             : //  * provided "as is" without express or implied warranty.                  *
      14             : //  **************************************************************************
      15             : 
      16             : #include <TTree.h>
      17             : #include "AliHMPID.h"
      18             : #include "AliHMPIDHit.h"   //OccupancyPrint(), HitQa()
      19             : #include "AliHMPIDDigit.h" //
      20             : #include <TParticle.h>  //SummaryOfEvent(), HitQa()
      21             : #include <TBenchmark.h>  //HitQA()
      22             : #include <TPDGCode.h>    //HitQA()
      23             : #include <AliStack.h>   //SummaryOfEvent(), HitQa()
      24             : #include <AliRun.h>     //HitQa() 
      25             : #include <AliMC.h>       //ctor
      26             : #include <AliHeader.h>
      27             : #include <TH1F.h>        //HitQA()
      28             : #include <AliLog.h>      //in many methods to print AliInfo 
      29             : #include "AliLoader.h"
      30             : 
      31          16 : ClassImp(AliHMPID)    
      32             : //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
      33           2 : AliHMPID::AliHMPID(const char *name, const char *title):AliDetector(name,title),fDoFeed(kTRUE),fSdi(0),fDig(0),fClu(0)
      34           3 : {
      35             : //Named ctor
      36           5 :   AliDebug(1,"Start.");
      37             : //AliDetector ctor deals with Hits and Digits (reset them to 0, does not create them)
      38           2 :   HitCreate();          gAlice->GetMCApp()->AddHitList(fHits);
      39             :   
      40           1 :   TString ttl=title;
      41           2 :   fDoFeed=!ttl.Contains("NoFeedBack");
      42           5 :   AliDebug(1,"Stop.");
      43           1 : }//AliHMPID::AliHMPID(const char *name, const char *title)
      44             : //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
      45             : AliHMPID::~AliHMPID()
      46          26 : {
      47             : //dtor
      48          65 :   AliDebug(1,"Start.");
      49             : 
      50             :   
      51          19 :   if(fHits)      delete fHits;
      52          13 :   if(fDigits)    delete fDigits;
      53          19 :   if(fSdi)       delete fSdi;
      54          25 :   if(fDig)      {fDig->Delete();   delete fDig;}
      55          16 :   if(fClu)      {fClu->Delete();   delete fClu;}
      56          65 :   AliDebug(1,"Stop.");    
      57          13 : }//AliHMPID::~AliHMPID()
      58             : //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
      59             : void AliHMPID::MakeBranch(Option_t* option)
      60             : {
      61             : //Create Tree branches for the HMPID.
      62          48 :   AliDebug(1,Form("Start with option= %s.",option));
      63             :     
      64             :   const Int_t kBufSize = 4000;
      65             :       
      66          12 :   const char *cH = strstr(option,"H");
      67          12 :   const char *cD = strstr(option,"D");
      68          12 :   const char *cR = strstr(option,"R");
      69          12 :   const char *cS = strstr(option,"S");
      70             : 
      71          20 :   if(cH&&fLoader->TreeH()){HitCreate();                       MakeBranchInTree(fLoader->TreeH(),     "HMPID"     ,&fHits       ,kBufSize,0);}
      72          20 :   if(cS&&fLoader->TreeS()){SdiCreate();                       MakeBranchInTree(fLoader->TreeS(),     "HMPID"     ,&fSdi        ,kBufSize,0);}
      73          84 :   if(cD&&fLoader->TreeD()){DigCreate();for(Int_t i=0;i<7;i++) MakeBranchInTree(fLoader->TreeD(),Form("HMPID%d",i),&((*fDig)[i]),kBufSize,0);}
      74          12 :   if(cR&&fLoader->TreeR()){CluCreate();for(Int_t i=0;i<7;i++) MakeBranchInTree(fLoader->TreeR(),Form("HMPID%d",i),&((*fClu)[i]),kBufSize,0);}   
      75             :   
      76          36 :   AliDebug(1,"Stop.");   
      77          12 : }//void AliHMPID::MakeBranch(Option_t* option)
      78             : //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
      79             : void AliHMPID::SetTreeAddress()
      80             : {
      81             : //Set branch address for the Hits and Digits Tree.
      82         616 :   AliDebug(1,"Start.");
      83         209 :   if(fLoader->TreeH() && fLoader->TreeH()->GetBranch("HMPID" )){HitCreate();                      fLoader->TreeH()->SetBranchAddress(     "HMPID"     ,&fHits       );}
      84         192 :   if(fLoader->TreeS() && fLoader->TreeS()->GetBranch("HMPID" )){SdiCreate();                      fLoader->TreeS()->SetBranchAddress(     "HMPID"     ,&fSdi        );}
      85         496 :   if(fLoader->TreeD() && fLoader->TreeD()->GetBranch("HMPID0")){DigCreate(); for(int i=0;i<7;i++) fLoader->TreeD()->SetBranchAddress(Form("HMPID%d",i),&((*fDig)[i]));}
      86         374 :   if(fLoader->TreeR() && fLoader->TreeR()->GetBranch("HMPID0")){CluCreate(); for(int i=0;i<7;i++) fLoader->TreeR()->SetBranchAddress(Form("HMPID%d",i),&((*fClu)[i]));}
      87         462 :   AliDebug(1,"Stop.");
      88         154 : }//void AliHMPID::SetTreeAddress()
      89             : //__________________________________________________________________________________________________
      90             : // AliHMPIDHit* AliHMPID::Hit(Int_t tid)const
      91             : // {
      92             : // // Search for the first HMPID hit belonging to the given tid
      93             : //   GetLoader()->LoadHits();
      94             : //   for(Int_t iPrimN=0;iPrimN<GetLoader()->TreeH()->GetEntries();iPrimN++){//prims loop      
      95             : //     GetLoader()->TreeH()->GetEntry(iPrimN);
      96             : //     for(Int_t iHitN=0;iHitN<Hits()->GetEntries();iHitN++){
      97             : //       AliHMPIDHit *pHit=(AliHMPIDHit*)Hits()->At(iHitN);
      98             : //       if(tid==pHit->Track()) {GetLoader()->UnloadHits();return pHit;}
      99             : //     }//hits
     100             : //   }//prims loop
     101             : //   GetLoader()->UnloadHits();
     102             : //   return 0;
     103             : // }

Generated by: LCOV version 1.11