123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- #ifndef STSPHERICITY_HH
- #define STSPHERICITY_HH
- #include "StMaker.h"
- #include "StThreeVector.hh"
- #include "StThreeVectorF.hh"
- #include "StPhysicalHelixD.hh"
- #include "TDatabasePDG.h"
- #include <StarGenerator/EVENT/StarGenParticle.h>
- #include <StarGenerator/EVENT/StarGenEvent.h>
- #include <TString.h>
- #include <TSystem.h>
- #include <TFile.h>
- #include <TLorentzVector.h>
- #include <TTree.h>
- #include <TH1.h>
- #include <TH2.h>
- #include <TH3.h>
- #include <TVectorT.h>
- #include <TMatrixTLazy.h>
- #include <TChain.h>
- #include <TMatrixDSymEigen.h>
- #include <vector>
- #include <iostream>
- class StSphericity : public StMaker
- {
- public:
- StSphericity(const char *aDirName,
- const char *aFileName,
- const char *aFilter = ".",
- int aMaxFiles = 1e6);
- ~StSphericity();
- int GetNEvents();
- Int_t Init();
- Int_t Make();
- Int_t Finish();
- void SetOutFileName(const char *oFileName) { outFileName = oFileName; }
- void SetSphericityLowCut(float val) { sphLoCut = val; }
- void SetSphericityHighCut(float val) { sphHiCut = val; }
- void SetPCut(float p) { pCut = p; }
- private:
- string dir;
- string fileName;
- string filter;
- unsigned int eventId;
- unsigned int nEvents;
- TFile *outFile;
- TChain *chain;
- TTree *tree;
- StarGenEvent *event;
- const char *outFileName;
- float pCut;
- TMatrixTSym<double> *matrix;
- TMatrixTSym<double> *matrix3d; // 3D sphericity matrix
- float sphLoCut, sphHiCut;
- TH1F *hEta;
- TH1F *hPhi;
- TH2F *hEtaPhi;
- TH2F *hDEtaDPhi;
- //
- // Manual calculation of the sphericity
- //
- TH1F *hSphManual;
- TH2F *hDEtaDPhi_lo_sphManual; // sphericity < lo "jet-like" events
- TH2F *hDEtaDPhi_hi_sphManual; // sphericity > hi isotropic
- //
- // Automatic calculation of the sphericity through the ROOT
- //
- TH1F *hSphAuto;
- TH2F *hDEtaDPhi_lo_sphAuto; // sphericity < lo "jet-like" events
- TH2F *hDEtaDPhi_hi_sphAuto; // sphericity > hi isotropic
- //
- // 3D sphericity
- //
- TH1F *hSph3d;
- TH2F *hDEtaDPhi_lo_sph3d; // sphericity < lo "jet-like" events
- TH2F *hDEtaDPhi_hi_sph3d; // sphericity > hi isotropic
- TH1F *hSphDiff; // difference between manual and auto calculated sphericity
- TH1F *hSph3dDiff; // sphAuto - sph3d
- //
- // Momentum distribution to visualize shape of the emission source
- // in the momentum phase space
- //
- // with S_transverse cut_low
- TH3F *hP3DLow;
- TH2F *hPxPyLow;
- TH2F *hPxPzLow;
- TH2F *hPyPzLow;
- // with S_transverse cut_high
- TH3F *hP3DHigh;
- TH2F *hPxPyHigh;
- TH2F *hPxPzHigh;
- TH2F *hPyPzHigh;
- // without S_transverse cut
- TH3F *hP3D_wocut;
- TH2F *hPxPy_wocut;
- TH2F *hPxPz_wocut;
- TH2F *hPyPz_wocut;
- int maxFiles;
- int InitRead(string aDir, string aFileName,
- string aFilter, int aMaxFiles);
- int FillChain(TChain *aChain, const char *aFileName, int aMaxFiles);
- int FillChain(TChain *aChain, char *aDir, const char *aFilter, int aMaxFiles);
- void UninitRead();
- ClassDef(StSphericity, 1)
- };
- #endif
|