Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
FemtoFreezoutsAna.h
1/*
2 * FemtoFreezoutsAna.h
3 *
4 * Created on: 15-08-2014
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9#ifndef HALFEMTOFREEZOUTSANA_H_
10#define HALFEMTOFREEZOUTSANA_H_
11
12#define SIMPLIFIED_PRF_COMPUTING_IN_FREEZOUT
13#include <Rtypes.h>
14#include <RtypesCore.h>
15#include <TH3.h>
16
17#include "Cut.h"
18#include "FemtoBasicAna.h"
19#include "FemtoConst.h"
20#include "FemtoFastCut.h"
21#include "FemtoFreezoutGenerator.h"
22#include "HistogramManager.h"
23#include "TwoTrackAna.h"
24
29namespace Hal {
31 public:
32 enum class EMode { kPRF, kLCMS, kGammaLCMS, kRaw };
33
34 protected:
38 Int_t fPdg1, fPdg2;
39 Double_t fX, fY, fZ, fT, fCut;
40 FemtoFastCut* fFastCut;
41 EMode fKinematicsMode;
42 Bool_t fIgnoreSign;
43 Bool_t fUseFakeMomenta;
44 FemtoPair* fFemtoPair;
45 Int_t fBins[3];
46 Double_t fHistoMin[3];
47 Double_t fHistoMax[3];
48 FemtoFreezoutGenerator* fFreezoutGenerator;
49 HistogramManager_3_1D<TH1D>* fHistograms1d;
50 HistogramManager_3_3D<TH3D>* fHistograms3d;
51 void ComputePRF();
52 void ComputeLCMS();
53 void ComputePRFL();
54 void ComputeRaw();
55 void ComputeLCMSGamma();
56 virtual void ProcessFemtoPair();
57 virtual void PreprocessFemtoPair();
58 virtual void ProcessPair();
59 virtual void ProcessPair2() { ProcessPair(); };
60 virtual Package* Report() const;
61 virtual Task::EInitFlag Init();
62
63 public:
74 void SetPdg(Int_t pdg) { fPdg1 = fPdg2 = pdg; };
79 void SetPdg(Int_t pdg1, Int_t pdg2) {
80 fPdg1 = pdg1;
81 fPdg2 = pdg2;
82 };
83 void SetOption(Option_t* opt);
88 void SetMomentumCut(Double_t cut);
89 void IgnoreSign() { fIgnoreSign = kTRUE; };
90 void SetFrame(EMode mode) { fKinematicsMode = mode; }
91 void SetAxes(Int_t bins, Double_t min, Double_t max);
92 void SetOutAxis(Int_t bins, Double_t min, Double_t max);
93 void SetSideAxis(Int_t bins, Double_t min, Double_t max);
94 void SetLongAxis(Int_t bins, Double_t min, Double_t max);
95 virtual void AddCut(const Cut& cut, Option_t* opt = " ");
100 void SetFreezoutGenerator(const FemtoFreezoutGenerator& freez) { fFreezoutGenerator = freez.MakeCopy(); };
101 void SetFastPairCut(const FemtoFastCut& cut) { fFastCut = cut.MakeCopy(); };
102 virtual ~FemtoFreezoutsAna();
103 ClassDef(FemtoFreezoutsAna, 1)
104 };
105} // namespace Hal
106
107#endif /* HALFEMTOFREEZOUTSANA_H_ */
virtual FemtoFastCut * MakeCopy() const =0
virtual FemtoFreezoutGenerator * MakeCopy() const =0
virtual void AddCut(const Cut &cut, Option_t *opt=" ")
virtual Package * Report() const
virtual Task::EInitFlag Init()
void SetOption(Option_t *opt)
void SetPdg(Int_t pdg1, Int_t pdg2)
void SetMomentumCut(Double_t cut)
void SetFreezoutGenerator(const FemtoFreezoutGenerator &freez)