]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVGEN/AliGenHBTosl.h
classes AliITSSortTrkl and AliITSTracklPairs temporarily removed from compilation
[u/mrichter/AliRoot.git] / EVGEN / AliGenHBTosl.h
index c36ee945e457f08219d5d4183e05fa2ad8a2b3cb..cfa081c7ece058abe7d68c5750724734643979ef 100644 (file)
 class TH3D;
 class AliStack;
 class TParticle;
-class TVector;
+class TVector3;
+
+#include <Riostream.h>
 
 class AliGenHBTosl: public AliGenerator
 {
  public:
    AliGenHBTosl();
    AliGenHBTosl(Int_t n,Int_t pid = 211);
+   AliGenHBTosl(const AliGenHBTosl& hbt);
    virtual ~AliGenHBTosl();
 
    void      Init();
    void      Generate();
    
    void      SetGenerator(AliGenerator* gen){fGenerator = gen;}
-   void      SetDebug(Bool_t debug){fDebug = debug;}
-   Bool_t    GetDebug() const {return fDebug;}
+   void      SetDebug(Int_t debug){fDebug = debug;}
+   Int_t    GetDebug() const {return fDebug;}
 
    void      Rotate(TVector3& relvector, TVector3& vector);
    Double_t  Rotate(Double_t x,Double_t y,Double_t z);
@@ -93,50 +96,54 @@ class AliGenHBTosl: public AliGenerator
    Double_t GetQOutQSideQLongCorrTheorValue(Double_t& out, Double_t& side, Double_t& lon) const;
    
    Double_t Scale(TH3D* num,TH3D* den);
-   void SetTrack(TParticle* p, Int_t& ntr);
-   void SetTrack(TParticle* p, Int_t& ntr, AliStack* stack);
+   void SetTrack(TParticle* p, Int_t& ntr) ;
+   void SetTrack(TParticle* p, Int_t& ntr, AliStack* stack) const ;
    
    AliStack* RotateStack();
    void SwapGeneratingHistograms();
    void     TestCoarseSignal();
    
    Bool_t CheckParticle(TParticle* p, TParticle* aupair,AliStack* stack);
+   void Copy(TObject&) const;
+   AliGenHBTosl & operator=(const AliGenHBTosl & rhs);
  private:
   TH3D*    fQCoarseBackground;//Initial Background
-  TH3D*    fQCoarseSignal;//
-  TH3D*    fQSignal;
-  TH3D*    fQBackground;
+  TH3D*    fQCoarseSignal;//signal calculated by multiplying coarse background and model function
+  TH3D*    fQSignal;//generating signal histogram
+  TH3D*    fQBackground;//generating background histogram
 
-  TH3D*    fQSecondSignal;
-  TH3D*    fQSecondBackground;
+  TH3D*    fQSecondSignal;//second signal histogram
+  TH3D*    fQSecondBackground;//seconf background histogram
   
-  Float_t  fQRange;
-  Int_t    fQNBins;
-  AliGenerator* fGenerator;
+  Float_t  fQRange;//range of generating histograms
+  Int_t    fQNBins;//number of bins of generating histograms
+  AliGenerator* fGenerator;//input generator
   
-  TList*   fStackBuffer;
-  Int_t    fBufferSize;
-  Int_t    fNBinsToScale;
-  Bool_t   fDebug;
-  Bool_t   fSignalShapeCreated;
+  TList*   fStackBuffer;//List with stacks
+  Int_t    fBufferSize;//defines number of events used for background mixing
+  Int_t    fNBinsToScale;//defines how many bins are used to calculate scaling factor
+  Int_t   fDebug;//debug flag
+  Bool_t   fSignalShapeCreated;//flag indicating that generating histograms are ready
   
   Int_t    fMaxIterations;  //maximal nuber of iterations on startup
   Float_t  fMaxChiSquereChange;//value of ChiSqr change in %, when sturtup process in stable
   Float_t  fMaxChiSquerePerNDF;//value of the chi2 where generating histograms are considered as good
   
   
-  Double_t fQRadius;
+  Double_t fQRadius;//simulated radius
   
-  Int_t    fPID;
+  Int_t    fPID;//pid of particle
   //we limit mixing to some finit phi range to make it faster
-  Float_t  fSamplePhiMin;//
-  Float_t  fSamplePhiMax;//
+  Float_t  fSamplePhiMin;//min phi
+  Float_t  fSamplePhiMax;//max phi
   
-  Float_t  fSignalRegion;
+  Float_t  fSignalRegion;//Defines signal region
   
-  Int_t    fMinFill;
+  Int_t    fMinFill;//Minimal allowed fill in background histograms - fill is continued until all bins have more than this
   
-  Bool_t   fSwapped;
+  Bool_t   fSwapped;//indicates if generating histograms were already swapped
+
+  ofstream* fLogFile;//! File where logs are stored
   
   ClassDef(AliGenHBTosl,1)
 };