//----------------------------------------------------------- // File and Version Information: // $Id$ // // Description: // Implementation of resCalc // Uses existing CDC circle fits (XY) and calculates // residua in XY for an array of TpcClusters // To be phased out. // // Environment: // Software developed for the PANDA Detector at FAIR. // // Author List: // Felix Boehmer (original author) // Francesco Cusanno (adapted for the alignment manager) // Sverre Doerheim (contributing author) // Physik Department E18, TUM // //----------------------------------------------------------- #ifndef TPCCDCFIT2DRES_ALIGN_HH #define TPCCDCFIT2DRES_ALIGN_HH #include "AbsRefTrackResCalc.h" #include #include #include #include #include #include "TpcAlignmentManager.h" #include "CdcTpcMatchingQA.h" #include "CdcTrack.h" class TpcCdcFit2DResCalc_Alignment : public AbsRefTrackResCalc { public: TpcCdcFit2DResCalc_Alignment(); virtual ~TpcCdcFit2DResCalc_Alignment(); virtual int calc(); virtual bool init(); void setDistanceCut(double dc) {fDistCut=dc;} void setCdcPtCut(double cut){fPtMin=cut;} void setCdcMaxPtCut(double cut){fPtMax=cut;} void setOrigTransfName(TString testAlignment){fOrigTransfName=testAlignment;} void setUseClusters(bool opt=true){fUseClusters=opt;} void setMatching(bool opt=true){fMatching=opt;} void writeHists(); static void getTrackCylinderIntersect(CdcTrack* tr, unsigned int radius, TVector3& pos, TVector3& mom); private: TClonesArray* fCdcTrackArray; TClonesArray* fTpcTrackArray; TClonesArray* fTpcClusterArray; TClonesArray* fTpcSPHitArray; TClonesArray* fFopiTupleArray; TString fCdcTrackBranchName; TString fTpcTrackBranchName; TString fTpcClusterBranchName; TString fTpcSPHitBranchName; TString fFopiTupleBranchName; //cut on CDC trackfit validity TString fOrigTransfName; TpcAlignmentManager* fAlMan; bool fUseClusters; bool fMatching; double fDistCut; //fid. volume cut on distance to circle fit [cm] double fPtMin; double fPtMax; double fThetaCut; CdcTpcMatchingQA fQA; std::map hists; }; #endif