LCOV - code coverage report
Current view: top level - ITS/ITSbase - AliITSVertexer.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 5 22 22.7 %
Date: 2016-06-14 17:26:59 Functions: 5 19 26.3 %

          Line data    Source code
       1             : #ifndef ALIITSVERTEXER_H
       2             : #define ALIITSVERTEXER_H
       3             : 
       4             : #include<AliVertexer.h>
       5             : //#include "AliITSDetTypeRec.h"
       6             : 
       7             : ///////////////////////////////////////////////////////////////////
       8             : //                                                               //
       9             : // Base class for primary vertex reconstruction  for ITS         //
      10             : // Daughter classes:                                             //
      11             : // AliITSVertexer3D                                              //
      12             : // AliITSVertexer3DTapan                                         //
      13             : // AliITSVertexerCosmics                                         //
      14             : // AliITSVertexerFast                                            //
      15             : // AliITSVertexerFixed                                           //
      16             : // AliITSVertexerZ                                               //
      17             : //                                                               //
      18             : ///////////////////////////////////////////////////////////////////
      19             : 
      20             : /* $Id$ */
      21             : 
      22             : class TString;
      23             : class AliITSDetTypeRec;
      24             : 
      25             : class AliITSVertexer : public AliVertexer {
      26             : 
      27             :  public:
      28             :     // default constructor
      29             :     AliITSVertexer();   
      30             :     virtual ~AliITSVertexer();
      31             :     virtual AliESDVertex *FindVertexForCurrentEvent(TTree *itsClusterTree)=0;
      32             :     virtual void PrintStatus() const = 0;
      33             : 
      34             :     virtual void ResetVertex();
      35             :     void FindMultiplicity(TTree *itsClusterTree);
      36           0 :     void SetFirstEvent(Int_t ev){fFirstEvent = ev;}
      37           0 :     void SetLastEvent(Int_t ev){fLastEvent = ev;}
      38         480 :     static Float_t GetPipeRadius() {return fgkPipeRadius;}
      39             :     void SetLaddersOnLayer2(Int_t ladwid=4);
      40           0 :     void SetComputeMultiplicity(Bool_t opt=kTRUE){fComputeMultiplicity=opt;}
      41             :     virtual void SetUseModule(Int_t imod, Bool_t optUse){
      42           0 :       if(imod>=0 && imod<kNSPDMod) fUseModule[imod]=optUse;
      43           0 :     }    
      44             :     virtual Bool_t IsModuleUsed(Int_t imod) const {
      45           0 :       if(imod>=0 && imod<kNSPDMod) return fUseModule[imod];
      46           0 :       else return 0;
      47           0 :     }
      48             : 
      49          16 :     virtual AliESDVertex* GetAllVertices(Int_t &novertices) const {novertices = fNoVertices; return fVertArray; }
      50             : 
      51           0 :     AliITSDetTypeRec *GetDetTypeRec() const {return fDetTypeRec;}
      52          16 :     virtual void SetDetTypeRec(AliITSDetTypeRec *ptr){fDetTypeRec = ptr;}
      53             :     enum{kNSPDMod=240};
      54             : 
      55             :     // Methods containing run-loaders, should be moved to some other class
      56             :     void Init(TString filename);
      57             :     void WriteCurrentVertex();
      58             :     void FindVertices();
      59             : 
      60           0 :     Int_t GetMinTrackletsForPilup() const {return fMinTrackletsForPilup;}
      61          16 :     void SetMinTrackletsForPilup(Int_t mint=2) {fMinTrackletsForPilup=mint;} 
      62           0 :     Bool_t IsPileup() const{return fIsPileup;}
      63             :     Float_t GetZPileupV() const {
      64           0 :       if(IsPileup()) return fZpuv;
      65           0 :       else return -9999999.;
      66           0 :     }
      67             :     Int_t GetNTrackletsPileupV() const {
      68           0 :       if(IsPileup()) return fNTrpuv;
      69           0 :       else return -2;
      70           0 :     }
      71             :  protected:
      72             :     static const Float_t fgkPipeRadius;  // beam pipe radius (cm)
      73             :     UShort_t *fLadders; // array with layer1-layer2 ladders correspondances  
      74             :     Int_t fLadOnLay2;   // (2*fLadOnLay2+1)=number of layer2 ladders 
      75             :                       // associated to a layer1 ladder
      76             :     Bool_t  fComputeMultiplicity;      // flag to switch on/off tracklet calculation
      77             :     Bool_t  fUseModule[kNSPDMod]; // flag for enabling/disabling SPD modules
      78             :     AliITSDetTypeRec *fDetTypeRec;  //! pointer to DetTypeRec
      79             :     Int_t fMinTrackletsForPilup;  // min. n. of tracklets for pilup definition
      80             :     Bool_t fIsPileup;             // flag for pileup
      81             :     Int_t fNTrpuv;             // tracklets in pile-up vertex
      82             :     Float_t fZpuv;             // Z of second pile-up vertex
      83             :     Int_t fNoVertices;         //! number of vertices found 
      84             :     AliESDVertex* fVertArray;    //! vertices (main+pileupped)
      85             : 
      86             :  private:
      87             :     // copy constructor (NO copy allowed: the constructor is protected
      88             :     // to avoid misuse)
      89             :     AliITSVertexer(const AliITSVertexer& vtxr);
      90             :     // assignment operator (NO assignment allowed)
      91             :     AliITSVertexer& operator=(const AliITSVertexer& /* vtxr */);
      92             : 
      93             :     Int_t fFirstEvent;          // First event to be processed by FindVertices
      94             :     Int_t fLastEvent;           // Last event to be processed by FindVertices
      95             : 
      96         118 :   ClassDef(AliITSVertexer,11);
      97             : };
      98             : 
      99             : #endif

Generated by: LCOV version 1.11