51 #ifndef StPicoDstMaker_h
52 #define StPicoDstMaker_h
55 #include "StChain/StMaker.h"
58 #include "StPicoEvent/StPicoArrays.h"
59 #include "StPicoDstMaker/StPicoFmsFiller.h"
61 #if defined (__TFG__VERSION__)
62 #include "StMuDSTMaker/COMMON/StMuDst.h"
85 #if !defined (__TFG__VERSION__)
86 enum PicoVtxMode {NotSet=0, Default=1, Vpd=2, VpdOrDefault=3, Mtd=4, FXT=5};
104 char const* name =
"PicoDst");
109 virtual Int_t
InitRun(Int_t
const runnumber);
111 virtual Int_t
Init();
113 virtual Int_t
Make();
115 virtual void Clear(Option_t* option =
"");
123 void SetStatus(
char const* branchNameRegex,
int enable);
130 TTree*
tree() {
return mTTree; }
141 #if defined (__TFG__VERSION__)
142 PicoVtxMode vtxMode() {
return StMuDst::instance()->vtxMode(); }
144 { StMuDst::instance()->setVtxMode(vtxMode); }
145 void SetMaxTrackDca(Double_t cut = 50)
146 { StMuDst::instance()->SetMaxTrackDca(cut); }
147 void SetMaxVertexTransError(Double_t cut = 0.0050)
148 { StMuDst::instance()->SetMaxVertexTransError(cut); }
149 void SetVxXYrange(Double_t xmin = -0.3, Double_t xmax = 0.,
150 Double_t ymin = -0.27, Double_t ymax = -0.13)
151 { StMuDst::instance()->SetVxXYrange(xmin,xmax,ymin,ymax) ;}
152 void SetVxZrange(Double_t zmin = -70, Double_t zmax = 70.)
153 { StMuDst::instance()->SetVxZrange(zmin, zmax); }
154 void SetVxRmax(Double_t rmax = 2) { StMuDst::instance()->SetVxRmax(rmax); }
156 TClonesArray** picoArrays() {
return mPicoArrays; }
185 void setBranchAddresses(TChain*);
195 Bool_t initMtd(Int_t
const runnumber);
206 void fillEventHeader()
const;
213 void fillEmcTrigger();
215 void fillMtdTrigger();
229 void fillMcVertices();
254 Bool_t getBEMC(
const StMuTrack* t,
int*
id,
int* adc,
float* ene,
float* d,
int* nep,
int* towid);
256 Int_t setVtxModeAttr();
258 Int_t setCovMtxModeAttr();
260 Int_t setBEmcSmdModeAttr();
262 #if defined (__TFG__VERSION__)
263 Bool_t selectVertex() {
return StMuDst::instance()->selectVertex(); }
267 Bool_t selectVertex();
271 Float_t mTpcVpdVzDiffCut;
293 #if !defined (__TFG__VERSION__)
303 TString mInputFileName;
305 TString mOutputFileName;
325 Int_t mModuleToQT[30][5];
327 Int_t mModuleToQTPos[30][5];
329 Int_t mQTtoModule[8][8];
331 Int_t mQTSlewBinEdge[8][16][8];
333 Int_t mQTSlewCorr[8][16][8];
336 TClonesArray* mPicoArrays[StPicoArrays::NAllPicoArrays];
338 char mStatusArrays[StPicoArrays::NAllPicoArrays];
342 #if defined (__TFG__VERSION__)
347 virtual const char *GetCVS()
const {
348 static const char cvs[]=
"Tag $Name: $ $Id: StPicoDstMaker.h,v 1.30 2021/02/23 17:27:01 gnigmat Exp $ built " __DATE__
" " __TIME__ ;
void setCompression(int comp=9)
virtual Int_t Finish()
Standard STAR Finish() function called from StChain.
Class that converts MuDst into PicoDst.
void printArrays()
Print pico arrays.
virtual Int_t Init()
Standard STAR Init() function called from StChain.
PicoBEmcSmdMode
Write or not write the BEmc SMD hits associated with a BHT2/3 trigger: 0-skip, 1-write.
virtual Int_t Make()
Standard STAR Make() function called from StChain.
virtual Int_t InitRun(Int_t const runnumber)
Init run.
TTree * tree()
Returns pointer to the current TTree, the top level io structure.
void SetStatus(char const *branchNameRegex, int enable)
Enables or disables branches matching a simple regex pattern in reading mode.
virtual ~StPicoDstMaker()
Destructor.
void setCovMtxMode(const PicoCovMtxMode covMtxMode)
Set to write or not to write covariant matrix.
void setBufferSize(int=65536 *4)
Sets the buffer size for all branches.
void setVtxMode(const PicoVtxMode vtxMode)
Set vertex selection mode.
Main class that keeps TClonesArrays with main classes.
StPicoDst * picoDst()
Returns null pointer if no StPicoDst.
StPicoDstMaker(char const *name="PicoDst")
Constructor.
PicoIoMode
Write/Read mode: 1-write, 2-read.
Stores global information about the event.
TChain * chain()
In read mode, returns pointer to the chain of .picoDst.root files.
virtual void Clear(Option_t *option="")
Clear.
PicoCovMtxMode
Write or not write covariance matrix: 0-skip, 1-write.
void setBEmcSmdMode(const PicoBEmcSmdMode bemcSmdMode)
Set to write or not write BEmc Smd hits.