#ifndef ATLFTrackMaker_H #define ATLFTrackMaker_H ////////////////////////////////////////////////////////////////////////// // // // ATLFast TrackMaker class. // // // // SmearParameters : Main routine to Smear tracks // // - calls Resolution, dcorset, dcorgen // // ////////////////////////////////////////////////////////////////////////// #ifndef ATLFMaker_H #include "ATLFMaker.h" #endif #ifndef ROOT_TMatrix #include #endif #ifndef ROOT_TH1 #include #endif class ATLFTrack; class TH3F; class ATLFTrackMaker : public ATLFMaker { protected: Int_t m_Ntracks; //Number of tracks Float_t m_MinPT; //Minimum PT for track Float_t m_MaxEta; //maximum eta for track // Variables for track semaring Int_t m_FieldType; //0 = 2T Field 1 = Int_t m_BLayer; //0 = No B Layer, 1 = B Layer Int_t m_BeamConstraint; //0 = No Beam C. 1 =Beam C. // Tracks histograms TH1F *m_Mult; //tracks multiplicity public: ATLFTrackMaker(); ATLFTrackMaker(const char *name, const char *title); virtual ~ATLFTrackMaker(); ATLFTrack *AddTrack(Int_t code, Int_t mcparticle); virtual void Clear(Option_t *option=""); virtual void Draw(Option_t *option=""); virtual void Finish(); void HelixParameters(Float_t charge, Float_t *vert1, Float_t *pvert1, Float_t *b); void SmearParameters(Float_t pt, Float_t eta, Float_t *tra, Float_t *traS,TMatrix &Sigma); void dcorset(TMatrix &sigma, TMatrix &cigma, Int_t n); void dcorgen(TMatrix &cigma, Double_t *X, Int_t n); void Resolution(Float_t eta, Float_t pt,Double_t *SigSq); Int_t FieldType(){return m_FieldType;} Int_t BLayer(){return m_BLayer;} Int_t BeamConstraint(){return m_BeamConstraint;} virtual void Init(); virtual Int_t Make(); virtual void PrintInfo(); // Getters Float_t MinPT() {return m_MinPT;} Float_t MaxEta() {return m_MaxEta;} // Getters Tracks histograms TH1F *Mult() {return m_Mult;} // Setters for tracks void SetMinPT(Float_t val=0.5) {m_MinPT=val;} void SetMaxEta(Float_t val=2.5) {m_MaxEta=val;} void SetFieldType(Int_t fieldtype = 0){m_FieldType = fieldtype;} void SetBLayer(Int_t blayer = 1){m_BLayer = blayer;} void SetBeamConstraint(Int_t beamconstraint = 1){m_BeamConstraint = beamconstraint;} // Histograms containing Resolution Data TH3F *m_OP1; //! 3D Histogram of parameterised resolutions TH3F *m_RP1; //! 3D Histogram of resolution parameters Int_t m_nEta; //! Number of Eta Bins Int_t m_nPt; //! Number of Pt Bins // Changed to 2 ClassDef(ATLFTrackMaker, 2) //ATLFast TrackMaker }; #endif