// ------------------------------------------------------------------------- // ----- PNDMCTESTLAMBDALAMBDABAR header file ----- // ----- Created 19/03/13 by S.Esch ----- // ------------------------------------------------------------------------- /** PNDANALAMBDALAMBDABAR.h *@author S.Esch ** ** **/ #ifndef PNDANALAMBDALAMBDABAR_H #define PNDANALAMBDALAMBDABAR_H // framework includes #include "FairTask.h" #include "PndMCMatch.h" #include "PndDetectorList.h" #include "TH1.h" #include "TH2.h" #include "TH3.h" #include "PndGeoHandling.h" #include "THStack.h" #include #include class TClonesArray; class PndAnaLambdaLambdaBar : public FairTask { public: /** Default constructor **/ PndAnaLambdaLambdaBar(); /** Destructor **/ virtual ~PndAnaLambdaLambdaBar(); /** Virtual method Init **/ virtual void SetParContainers(); virtual InitStatus Init(); /** Virtual method Exec **/ virtual void Exec(Option_t* opt); virtual void Finish(); void SetInputBranchName(TString inputbranchname){fInputBranchName = inputbranchname;}; void SetInputBranchNamePreFit(TString inputbranchname){fInputBranchNamePreFit = inputbranchname;}; TString GetInputBranchName(){return fInputBranchName;}; TString GetInputBranchNamePreFit(){return fInputBranchNamePreFit;}; void SetInputBranchNamePostFit(TString inputbranchname){fInputBranchNamePostFit = inputbranchname;}; TString GetInputBranchNamePostFit(){return fInputBranchNamePostFit;}; void SetNumberOfMVDHits(int numberofmvdhits){fNumberOfMVDHits = numberofmvdhits;}; void SetNumberOfTotalHits(int numberoftotalhits){fNumberOfTotalHits = numberoftotalhits;}; private: int eventcounter; void MVDStripCounter(FairMultiLinkedData MVDStriplinks, int &mvdstrip, int &mvdstriplambda); int FillAnalysisHistoSingleDetectors(TH2I* SingleParticleHisto, TH2I* TotalHisto, TH2I* SingleParticleSelected, TH2I* TotalSelected, TH2I* SingleParticleRejected, TH2I* TotalRejected, int fts, int stt, int gem, int mvd); int FillAnalysisHistoDoubleDetectors(TH2I* SingleParticleHisto, TH2I* TotalHisto, TH2I* SingleParticleSelected, TH2I* TotalSelected, TH2I* SingleParticleRejected, TH2I* TotalRejected, int fts, int stt, int gem, int mvd); int FillAnalysisHistoTripleDetectors(TH2I* SingleParticleHisto, TH2I* TotalHisto, TH2I* SingleParticleSelected, TH2I* TotalSelected, TH2I* SingleParticleRejected, TH2I* TotalRejected, int fts, int stt, int gem, int mvd); int FillAnalysisHistoQuatroDetectors(TH2I* SingleParticleHisto, TH2I* TotalHisto, TH2I* SingleParticleSelected, TH2I* TotalSelected, TH2I* SingleParticleRejected, TH2I* TotalRejected, int fts, int stt, int gem, int mvd); bool CutCriteria(int fts, int stt, int gem, int mvd); void SetHitAnalysisAxis(TH1* histo); void FillAnalysisTracksPerEventSingleTrack(int proton, int antiproton, int pionminus, int pionplus, TH2I* histo); void SetHitAnalysisEventAxis(TH1* histo); int GEMCounter(FairMultiLinkedData GEMlinks); TString fInputBranchName; TString fInputBranchNamePreFit; TString fInputBranchNamePostFit; bool fPreFitCalculations; bool fPostFitCalculations; int fNumberOfMVDHits; int fNumberOfTotalHits; PndMCMatch* fMCMatch; TClonesArray* fStripHit; TClonesArray* fPixelHit; TClonesArray* fMCPoint; TClonesArray* fMCTrack; TClonesArray* fEventHeader; TClonesArray* fSTTHit; TClonesArray* fGEMHit; TClonesArray* fGEMPoint; TClonesArray* fFTSHit; TClonesArray* fTrack; TClonesArray* fTrackPreFit; TClonesArray* fTrackPostFit; TH2F* fKalmanFitComparisonPosition; TH2F* fKalmanFitComparisonMomentum; TH2F* fKalmanFitComparisonPositionPosFlag; TH2F* fKalmanFitComparisonMomentumPosFlag; TH1I* fMVDHitsPerTrackProton; TH1I* fMVDHitsPerTrackAntiproton; TH1I* fMVDHitsPerTrackPionplus; TH1I* fMVDHitsPerTrackPionminus; TH1I* fMVDHitsPerTrackTotal; TH1I* fMVDHitsPerTrackProtonWithLambda; TH1I* fMVDHitsPerTrackAntiprotonWithLambda; TH1I* fMVDHitsPerTrackPionplusWithLambda; TH1I* fMVDHitsPerTrackPionminusWithLambda; TH1I* fMVDHitsPerTrackTotalWithLambda; TH1I* fSTTHitsPerTrackProton; TH1I* fSTTHitsPerTrackAntiproton; TH1I* fSTTHitsPerTrackPionplus; TH1I* fSTTHitsPerTrackPionminus; TH1I* fSTTHitsPerTrackTotal; TH1I* fGEMHitsPerTrackProton; TH1I* fGEMHitsPerTrackAntiproton; TH1I* fGEMHitsPerTrackPionplus; TH1I* fGEMHitsPerTrackPionminus; TH1I* fGEMHitsPerTrackTotal; TH1I* fTotalHitsPerTrackProton; TH1I* fTotalHitsPerTrackAntiproton; TH1I* fTotalHitsPerTrackPionplus; TH1I* fTotalHitsPerTrackPionminus; TH1I* fTotalHitsPerTrackAll; TH1I* fTracksPerEventMVD; TH1I* fTracksPerEventMVDWithLambda; TH3I* fMVDSTTGEM3DTotal; TH3I* fMVDSTTGEM3DProton; TH3I* fMVDSTTGEM3DAntiproton; TH3I* fMVDSTTGEM3DPionplus; TH3I* fMVDSTTGEM3DPionminus; TH3I* fMVDSTTGEM3DTotal_wLambda; TH3I* fMVDSTTGEM3DProton_wLambda; TH3I* fMVDSTTGEM3DAntiproton_wLambda; TH3I* fMVDSTTGEM3DPionplus_wLambda; TH3I* fMVDSTTGEM3DPionminus_wLambda; TH2F* fPionplusMomentaSTTHits; TH2F* fPionminusMomentaSTTHits; TH1F* fPtResolutionProton; TH1F* fPtResolutionAntiproton; TH1F* fPtResolutionPionplus; TH1F* fPtResolutionPionminus; TH1F* fPzResolutionProton; TH1F* fPzResolutionAntiproton; TH1F* fPzResolutionPionplus; TH1F* fPzResolutionPionminus; TH1F* fPtRelativeResolutionProton; TH1F* fPtRelativeResolutionAntiproton; TH1F* fPtRelativeResolutionPionplus; TH1F* fPtRelativeResolutionPionminus; TH1F* fPzRelativeResolutionProton; TH1F* fPzRelativeResolutionAntiproton; TH1F* fPzRelativeResolutionPionplus; TH1F* fPzRelativeResolutionPionminus; TH2F * fPzResolution2DProton; TH2F * fPzResolution2DAntiproton; TH2F * fPzResolution2DPionminus; TH2F * fPzResolution2DPionplus; TH2F * fPtResolution2DProton; TH2F * fPtResolution2DAntiproton; TH2F * fPtResolution2DPionminus; TH2F * fPtResolution2DPionplus; TH1F* fNumberOfTracksPerEvent; TH1F* fNumberOfTracksPerEventCutCriteria; TH1F* fNumberOfTracksPerEventCutCriteriaWithLambda; TH2I* fHitAnalysis; TH2I* fHitAnalysisProton; TH2I* fHitAnalysisAntiproton; TH2I* fHitAnalysisPionminus; TH2I* fHitAnalysisPionplus; TH2I* fHitAnalysis_Lambda; TH2I* fHitAnalysisProton_Lambda; TH2I* fHitAnalysisAntiproton_Lambda; TH2I* fHitAnalysisPionminus_Lambda; TH2I* fHitAnalysisPionplus_Lambda; TH2I* fHitAnalysis_Selected; TH2I* fHitAnalysisProton_Selected; TH2I* fHitAnalysisAntiproton_Selected; TH2I* fHitAnalysisPionminus_Selected; TH2I* fHitAnalysisPionplus_Selected; TH2I* fHitAnalysis_Selected_Lambda; TH2I* fHitAnalysisProton_Selected_Lambda; TH2I* fHitAnalysisAntiproton_Selected_Lambda; TH2I* fHitAnalysisPionminus_Selected_Lambda; TH2I* fHitAnalysisPionplus_Selected_Lambda; TH2I* fHitAnalysis_Rejected; TH2I* fHitAnalysisProton_Rejected; TH2I* fHitAnalysisAntiproton_Rejected; TH2I* fHitAnalysisPionminus_Rejected; TH2I* fHitAnalysisPionplus_Rejected; TH2I* fHitAnalysis_Rejected_Lambda; TH2I* fHitAnalysisProton_Rejected_Lambda; TH2I* fHitAnalysisAntiproton_Rejected_Lambda; TH2I* fHitAnalysisPionminus_Rejected_Lambda; TH2I* fHitAnalysisPionplus_Rejected_Lambda; TH1I* fHitAnalysisTracksPerEvent; TH1I* fHitAnalysisTracksPerEvent_Selected; TH2I* fHitAnalysisTracksPerEvent2D; TH2I* fHitAnalysisTracksPerEvent2D_Selected; TH1I* fHitAnalysisTracksPerEvent_Lambda; TH1I* fHitAnalysisTracksPerEvent_Selected_Lambda; TH2I* fHitAnalysisTracksPerEvent2D_Lambda; TH2I* fHitAnalysisTracksPerEvent2D_Selected_Lambda; PndGeoHandling* fGeoH; void Register(); void Reset(); void ProduceHits(); ClassDef(PndAnaLambdaLambdaBar,1); }; #endif