class HHypPPPipPimGammaKine: public HHypBaseAlgorithm

Function Members (Methods)

public:
HHypPPPipPimGammaKine(const HHypPPPipPimGammaKine&)
HHypPPPipPimGammaKine(Char_t* name_i = 0, Option_t* par = 0)
virtual~HHypPPPipPimGammaKine()
Bool_tHHypBaseAlgorithm::base_execute()
Bool_tHHypBaseAlgorithm::base_finalize()
Bool_tHHypBaseAlgorithm::base_init()
Bool_tHHypBaseAlgorithm::base_reinit()
static TClass*Class()
virtual Bool_texecute()
virtual Bool_tfinalize()
Int_tHHypBaseAlgorithm::GetExitChannelAlgIdx()
TFile*HHypBaseAlgorithm::GetHFile()
HHypList*HHypBaseAlgorithm::GetList()
const Char_t*HHypBaseAlgorithm::GetName()
TString*HHypBaseAlgorithm::GetOpt(TString st)
Int_tHHypBaseAlgorithm::GetSourceChannelAlgIdx()
virtual Bool_tinit()
virtual TClass*IsA() const
HHypPPPipPimGammaKine&operator=(const HHypPPPipPimGammaKine&)
virtual Bool_treinit()
voidHHypBaseAlgorithm::SetBeam(TLorentzVector* mybeam)
voidHHypBaseAlgorithm::SetBeamPID(Int_t projectile)
Bool_tHHypBaseAlgorithm::SetExitChannelAlgIdx(Int_t e_id)
Bool_tHHypBaseAlgorithm::SetExitList(Int_t e_list)
voidHHypBaseAlgorithm::SetHFile(TFile* file)
voidHHypBaseAlgorithm::SetHypChannel(HHypChannel* mychannel)
Bool_tHHypBaseAlgorithm::SetInitList(Int_t i_list)
voidHHypBaseAlgorithm::SetParams(HHypRecPar* Params)
Bool_tHHypBaseAlgorithm::SetSourceChannelAlgIdx(Int_t i_id)
voidHHypBaseAlgorithm::SetTargetPID(Int_t target)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
private:
Bool_tDoTheRefit(TVector3* momentum, Int_t idx_p1, Int_t idx_p2, Int_t idx_pim, Int_t idx_pip, Float_t& chi2, Float_t& chi24, Float_t* pulls)
Double_tgetMomError(Double_t theta, Double_t phi, Double_t mass, Double_t p, Int_t sec, Bool_t simu)

Data Members

public:
Bool_tHHypBaseAlgorithm::skip
protected:
TStringHHypBaseAlgorithm::algoName! Name of the algorithm (for printout, debugging...)
TLorentzVector*HHypBaseAlgorithm::beam! Pointer to the total CM energy for missing mass calculations
Int_tHHypBaseAlgorithm::beam_pid
HHypChannel*HHypBaseAlgorithm::channel! Pointer to the official channel list
Int_tHHypBaseAlgorithm::exitIdxThe index number of the hyplist object created in base_execute
Int_tHHypBaseAlgorithm::exitListThe physical exit list (see HHypChannel)
TFile*HHypBaseAlgorithm::histofile! Store optional information in this file
Int_tHHypBaseAlgorithm::initListMy physical init list
HHypList*HHypBaseAlgorithm::mylistPointer to the exitList (which THIS algorith may modify)
TStringHHypBaseAlgorithm::options! Option list
HHypRecPar*HHypBaseAlgorithm::pParamspointer to container with params
Int_tHHypBaseAlgorithm::sourceIdxThe index number of the source hyplist object
Int_tHHypBaseAlgorithm::target_pid! Beam and Target PID (needed for Kine Refit)
private:
Float_tderOut[16]
Float_terrInput[16]
Double_terrOutput[16]
HHypKineFitPPPipPimGamma*fit
Double_tgInput[16]
Float_tinput[16]
TNtuple*kinetest
Double_toutput[16]
Double_toutput2[16]
TNtuple*qaQA ntuple (pulls, chi2, ..)

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HHypPPPipPimGammaKine(Char_t* name_i = 0, Option_t* par = 0)
~HHypPPPipPimGammaKine()
Double_t getMomError(Double_t theta, Double_t phi, Double_t mass, Double_t p, Int_t sec, Bool_t simu)
Bool_t DoTheRefit(TVector3* momentum, Int_t idx_p1, Int_t idx_p2, Int_t idx_pim, Int_t idx_pip, Float_t& chi2, Float_t& chi24, Float_t* pulls)
Bool_t execute()
 	if (mylist->getNpart() != 4)
 		return kFALSE;
needs 4 particles
Bool_t init()
 need to get name from channel
Bool_t reinit()
Here, we set/reset the Momentum Error
Resolution could be run-dependent!

 Bool_t simuflag;
	simuflag=gHades->getCurrentEvent()->getCategory(catGeantKine);

	if (!pParams->getCut("MomentumError_SEC_0", mom_err_sec_0)) {
		if(simuflag) mom_err_sec_0=0.02; else mom_err_sec_0=0.06;
		std::cout << "HHypPPPipPimGammaKine::init: MomentumError_SEC_0 not found" << std::endl;
		std::cout << "using hardcoded MomentumError_SEC_0" << std::endl;
	}

	if (!pParams->getCut("MomentumError_SEC_1", mom_err_sec_1)) {
		if(simuflag) mom_err_sec_1=0.02; else mom_err_sec_1=0.046;
		std::cout << "HHypPPPipPimGammaKine::init: MomentumError_SEC_1 not found" << std::endl;
		std::cout << "using hardcoded MomentumError_SEC_1" << std::endl;
	}

	if (!pParams->getCut("MomentumError_SEC_2", mom_err_sec_2)) {
		if(simuflag) mom_err_sec_2=0.025; else mom_err_sec_2=0.17;
		std::cout << "HHypPPPipPimGammaKine::init: MomentumError_SEC_2 not found" << std::endl;
		std::cout << "using hardcoded MomentumError_SEC_2" << std::endl;
	}

	if (!pParams->getCut("MomentumError_SEC_3", mom_err_sec_3)) {
		if(simuflag) mom_err_sec_3=0.02; else mom_err_sec_3=0.044;
		std::cout << "HHypPPPipPimGammaKine::init: MomentumError_SEC_3 not found" << std::endl;
		std::cout << "using hardcoded MomentumError_SEC_3" << std::endl;
	}

	if (!pParams->getCut("MomentumError_SEC_4", mom_err_sec_4)) {
		if(simuflag) mom_err_sec_4=0.02; else mom_err_sec_4=0.04;
		std::cout << "HHypPPPipPimGammaKine::init: MomentumError_SEC_4 not found" << std::endl;
		std::cout << "using hardcoded MomentumError_SEC_4" << std::endl;
	}

	if (!pParams->getCut("MomentumError_SEC_5", mom_err_sec_5)) {
		if(simuflag) mom_err_sec_5=0.025; else mom_err_sec_5=0.071;
		std::cout << "HHypPPPipPimGammaKine::init: MomentumError_SEC_5 not found" << std::endl;
		std::cout << "using hardcoded MomentumError_SEC_5" << std::endl;
	}

	std::cout << "MomentumError_SEC_0 is: " << mom_err_sec_0 << std::endl;
	std::cout << "MomentumError_SEC_1 is: " << mom_err_sec_1 << std::endl;
	std::cout << "MomentumError_SEC_2 is: " << mom_err_sec_2 << std::endl;
	std::cout << "MomentumError_SEC_3 is: " << mom_err_sec_3 << std::endl;
	std::cout << "MomentumError_SEC_4 is: " << mom_err_sec_4 << std::endl;
	std::cout << "MomentumError_SEC_5 is: " << mom_err_sec_5 << std::endl;

Bool_t finalize()
HHypPPPipPimGammaKine(Char_t* name_i = 0, Option_t* par = 0)

Last change: 04/07/2005 by I. Froehlich
Last generated: 2010-05-22 12:58

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.