15 #include "TDatabasePDG.h" 
   22 #include "TClonesArray.h" 
   31   TNamed ( name,"Panda PID Combiner" ) ,
 
   35   fInitialized ( kFALSE )
 
   41     SetTcaNames ( tcanames );
 
   44   fRootManager=FairRootManager::Instance();
 
   54     chack = 
Apply( tcl[j] );
 
   55     check = check && chack;
 
   86       Error ( 
"Apply", 
"PID Probability array not found, skip setting pid for candidate %i.",trackIndex );
 
   91     if ( 0==aTca->GetEntriesFast() ) {
 
   92       Error ( 
"Apply", 
"PID Probability array '%s' at %p of size zero, skip setting pid for candidate %i.", aTca->GetName(), aTca, trackIndex );
 
   97     if ( trackIndex>=aTca->GetEntriesFast() ) {
 
   98       Error ( 
"Apply", 
"Index out of '%s' array (%p) bounds, skip setting pid for candidate %i.",aTca->GetName(),aTca,trackIndex );
 
  106       Error ( 
"Apply", 
"PID Probability object in array '%s' at %p not found, skip setting pid for candidate %i.",aTca->GetName(),aTca,trackIndex );
 
  111     if ( trackIndex!=aProb->
GetIndex() ) {
 
  112       Error ( 
"Apply", 
"PID Probability object index (%i) is not the track index (%i). Is that bad?",aProb->
GetIndex(),trackIndex );
 
  170   TStringToken list ( names,
";" );
 
  172   while ( list.NextToken() )
 
  175     if (branch == 
"") 
continue;
 
  180       TClonesArray * tmpar = 
ReadTCA(full.Data());
 
  193           TClonesArray * tmpar2 = 
ReadTCA(branch.Data());
 
  200             std::cout<<
" WARNING TO ANALYST: PndAnaPidCombiner::Init() could not find "<< full.Data()<<
" we use a backup branch: "<<branch.Data()<<std::endl;
 
  203             std::cout<<
" WARNING TO ANALYST: PndAnaPidCombiner::Init() could not find "<< full.Data()<<
" nor a backup branch "<<branch.Data()<<std::endl;
 
  224     Warning ( 
"PndAnaPidCombiner::ReadTCA()",
"Empty TCA name." );
 
  228   TClonesArray* tca = ( TClonesArray* ) 
fRootManager->GetObject ( tcaname.Data() );
 
void SetTcaNames(TString &names, TString postfix="")
Double_t GetProtonPidProb(PndPidProbability *flux=NULL) const 
Int_t GetTrackNumber() const 
Double_t GetKaonPidProb(PndPidProbability *flux=NULL) const 
void ApplyFlat(RhoCandidate *tc)
Bool_t Apply(RhoCandidate *tc)
void SetPidInfo(double *pidinfo=0)
Double_t GetSumProb(PndPidProbability *flux=NULL) const 
Double_t GetMuonPidProb(PndPidProbability *flux=NULL) const 
int full(TString simdatei="sim_emc.root", TString fulldatei="full_emc.root", TString param="simparam.root")
std::map< TString, TClonesArray * > fPidArrays
ClassImp(PndAnaPidCombiner) PndAnaPidCombiner
FairRootManager * fRootManager
std::vector< TString > fCurrentPidArrays
pid data map, full 
TClonesArray * ReadTCA(const TString &tcaname)
Double_t GetElectronPidProb(PndPidProbability *flux=NULL) const 
Double_t GetPionPidProb(PndPidProbability *flux=NULL) const 
PndPidProbability * fPidResult
pid data current request