//////////////////////////////////// // KRATTA Event analyser // for the Asy-Eos experiment // TKratAnaStep1 DECLARATION // Nov 2012 // revison 11/2012 // E.d.F ver 1.0 // sebastian.kupny@uj.edu.pl // jerzy.lukasik@ifj.edu.pl // Changes: //////////////////////////////////// #ifndef KRATTA_ANA_STEP_1_H #define KRATTA_ANA_STEP_1_H #include #include #include "TH1D.h" #include "TF1.h" #include "TFumili.h" #include "TGraph.h" #include "TLine.h" #include "TMarker.h" #include "FairTask.h" #include "TEvtBuffer.h" #include "TKRATRawEvent.h" #include "TMbsInfo.h" #include "geo.h" #include "mktreeraw.h" #include "mktreedstchain_sct_fitABC.h" class TClonesArray; class TObjectArray; class TH1F; class TH2F; double RC4DEXP2TR1(Double_t *xx, Double_t *par); double RC4DEXP2TR(Double_t *xx, Double_t *par); void FCN(Int_t &npar, Double_t *gin, Double_t &f, Double_t *par, Int_t iflag); class TKratAnaStep1 : public FairTask { public: /** Default constructor **/ TKratAnaStep1(); /** Constructor **/ TKratAnaStep1(Int_t verbose); /** Destructor **/ ~TKratAnaStep1(); /** Virtual method Init **/ virtual InitStatus Init(); /** Virtual method Exec **/ virtual void Exec(Option_t* opt); virtual void Finish(); virtual void Reset(); /** VERBOSE_LEVEL **/ void SetVerboseLevel( Int_t verbose ) { fVerbose = verbose; } Int_t GetVerboseLevel( void ) { return fVerbose; } /** KRATTA_IN **/ void SetKratContInName( TString ASYEventName ){ fKratContInName = ASYEventName; } TString GetKratContInName( void ) const { return fKratContInName; } /** MBS_TS **/ void SetMbstsContInName( TString MbstsContInName ){; fMbstsContInName = MbstsContInName; } TString GetMbstsContInName( void ) const { return fMbstsContInName; } /** MBS_INFO **/ void SetMbsinfoContInName( TString MbsinfoContInName ){ fMbsinfoContInName = MbsinfoContInName; } TString GetMbsinfoContInName( void ) const { return fMbsinfoContInName; } /** KRATTA_OUT **/ void SetKratContOutName( TString KratContOutName ){ fKratContOutName = KratContOutName; } TString GetKratContOutName( void ) const { return fKratContOutName; } /** DOES WRITE OUTPUT DATA CONTAINER TO THE FILE **/ void SaveOutputIntoTree(Bool_t saveOutputToTree = kTRUE){ fSaveOutputToTree = saveOutputToTree; } Bool_t DoesSaveOutputIntoTree( void ){ return fSaveOutputToTree; } protected: TClonesArray * fKrattaRawEventCopy; TKRATRawEvent * fKrattaRawEvent; TClonesArray * fRootMBSTSCopy; TRootTS * fMBSTS; TMbsInfo * fMbsInfo; TClonesArray * fMbsInfoClone; ///TKRATPhotodiode * fPhotodiodePtr; //Not used because of direct access from TKRATRawEvent PeakData * fPeakData; ASYEvent * fASYEvent; TClonesArray * fASYEventCopy; private: virtual void SetParContainers(); void GetPulseParameters( Int_t A_Module, Int_t A_Signal ); void FillASYEvent( Int_t A_FiredModuleCounter ); TString fKratContOutName; // KRATTA output data container TString fKratContInName; // KRATTA input data container TString fMbstsContInName; // MbsTS input data container TString fMbsinfoContInName; // MbsInfo input data container Int_t fCurrentRun; Int_t * ifadc; Int_t n_sample ; TH1D *hfit ; TF1 *funn ; TF1 *funn0; TF1 *funn1; TF1 *funn2; TF1 *funn3; TH1D *hfit_512; TF1 *funn_512; TF1 *funn0_512; TF1 *funn1_512; TF1 *funn2_512; TF1 *funn3_512; TH1D *hfit_1024; TF1 *funn_1024; TF1 *funn0_1024; TF1 *funn1_1024; TF1 *funn2_1024; TF1 *funn3_1024; TF1 *fp2; TMarker *mrk; TMarker *mrk0; TMarker *marker; TLine *li1e; TF1 *fexp; TGraph *gr; TMarker *mrkp; TF1 *fp21; TF1 *fp23; ASYgeo *gg; //From mktreedstchain_s..._main.cxx: TVirtualFitter *fitter; //Int_t ievt_tot; //Int_t ievt_tot_good; //Int_t mod; //Int_t isig; Float_t tls; Float_t tlo; Float_t tm; Float_t am; Float_t at; Float_t p0; Float_t p1; Float_t p2; Float_t p3; Float_t p4; Float_t p5; Float_t p6; Float_t p7; Float_t p8; Float_t p9; Float_t p10; Float_t p11; Float_t chi2; Int_t fEventCounter; Bool_t fSaveOutputToTree; // Flag which tels whtether the fRootKRATEventCopy // will be stored in analysis output file ClassDef(TKratAnaStep1,1); }; #endif ///KRATTA_ANA_STEP_1_H