KaliVeda  1.13/01
Heavy-Ion Analysis Toolkit
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
KVPartitionGenerator Class Reference

Permet de determiner numeriquement et exactement un ensemble de partitions d'entrees remplissante certaines conditions.

Les differentes recontrees grandeurs sont :

Plusieurs methodes correspondant conditions initiales possibles :

Toutes ces methodes utilisent la protected methode MakePartitions() qui calcule les partitions pour un couple (Ztot,Mtot) donné qui sauvegarde ces partitions dans un fichier ROOT via un arbre, contenant l'information minimum :

A chaque fois que la methode MakePartitions() est appelle par les methodes BreakUsing...(), on garde en memoire l'ensemble des fichiers contenant chacun un arbre, pour a la fin du processus

ecrire dans un fichier ROOT, une TChain permettant de travailler rapidement et facilement sur les partitions generees

Un petit exemple de routine simple : Cette routine produit en sortie un fichier root Partitions_Zf60_Zi1.root contenant la TChain de tous les arbres ...

void test{
pg->SetPathForFile("/space/bonnet/");
Info in <BreakUsing_Ztot_Zinf_Criterion>: 966467.000000 partitions crees en 5 seconds
delete pg;
}
Permet de determiner numeriquement et exactement un ensemble de partitions d'entrees remplissante cer...
void SetPathForFile(KVString path)
KVPartitionGenerator()
Default constructor.
void BreakUsing_Ztot_Zinf_Criterion(Int_t Ztot, Int_t Zinf, KVString chain_name="", Int_t min=-1, Int_t max=-1)
void Info(const char *location, const char *va_(fmt),...)
root Partitions_Zf60_Zi1.root
Attaching file Partitions_Zf60_Zi1.root as _file0...
root [2] .ls
TFile** Partitions_Zf60_Zi1.root
TFile* Partitions_Zf60_Zi1.root
KEY: TChain PartitionTree;1
root [3] PartitionTree->Draw("tabz")
virtual Long64_t Draw(const char *varexp, const char *selection, Option_t *option="", Long64_t nentries=kMaxEntries, Long64_t firstentry=0)
std::array< T, i > as(SEXP &obj)

Definition at line 69 of file KVPartitionGenerator.h.

Public Member Functions

 KVPartitionGenerator ()
 Default constructor. More...
 
virtual ~KVPartitionGenerator ()
 Destructor. More...
 
void BreakUsing_Mtot_Zmax_Zinf_Criterion (Int_t Mtot, Int_t Zmax, Int_t Zinf, KVString chain_name="")
 
void BreakUsing_Ztot_Mtot_Zinf_Criterion (Int_t Ztot, Int_t Mtot, Int_t Zinf, KVString chain_name="")
 
void BreakUsing_Ztot_Zinf_Criterion (Int_t Ztot, Int_t Zinf, KVString chain_name="", Int_t min=-1, Int_t max=-1)
 
void BreakUsing_Ztot_Zmax_Zinf_Criterion (Int_t Ztot, Int_t Zmax, Int_t Zinf, KVString chain_name="")
 
void SetPathForFile (KVString path)
 
virtual void TreatePartition ()
 
virtual void WriteTreeAndCloseFile ()
 

Protected Member Functions

void AfterBreak ()
 
void BeforeBreak ()
 
Int_t GetDeltaTime ()
 
void init ()
 
void MakePartitions (Int_t Ztot, Int_t Mtot, Int_t Zinf)
 
void PreparTree ()
 
void Process ()
 
void SetConditions (Int_t Ztot, Int_t Mtot, Int_t Zinf)
 
void Start ()
 
void Stop ()
 

Protected Attributes

KVString cname
 
KVUniqueNameListflist
 
Int_tkcurrent
 
Int_t kmt
 
KVString kwriting_path
 Chemin ou les arbres seront ecrits. More...
 
Int_t kzinf
 
Int_t kzt
 
Int_t mshift
 
Int_t mtot
 
Double_t npar
 Compteurs de nombre de partitions crees. More...
 
Double_t npar_zt_mt
 
Int_ttabz
 [ndim] More...
 
Int_t tellapsed
 
KVString tname
 
Bool_t to_be_checked
 
TTreetree
 
Int_t tstart
 To give an estimation of time consuming. More...
 
Int_t tstop
 
Int_t zshift
 
Int_t ztot
 

#include <KVPartitionGenerator.h>

Constructor & Destructor Documentation

◆ KVPartitionGenerator()

KVPartitionGenerator::KVPartitionGenerator ( )

Default constructor.

Definition at line 22 of file KVPartitionGenerator.cpp.

◆ ~KVPartitionGenerator()

KVPartitionGenerator::~KVPartitionGenerator ( )
virtual

Destructor.

Definition at line 63 of file KVPartitionGenerator.cpp.

Member Function Documentation

◆ AfterBreak()

void KVPartitionGenerator::AfterBreak ( )
protected

protected method Permet de creer une TChain recapitulant tout les arbres crees et suvegardes lors de la determination de toutes les partitions par une des methodes BreakUsing_[Critere]_Criterion() stop du chrono

Definition at line 368 of file KVPartitionGenerator.cpp.

◆ BeforeBreak()

void KVPartitionGenerator::BeforeBreak ( )
protected

protected method Creation de la liste pour creation de la TChain stop du chrono

Definition at line 346 of file KVPartitionGenerator.cpp.

◆ BreakUsing_Mtot_Zmax_Zinf_Criterion()

void KVPartitionGenerator::BreakUsing_Mtot_Zmax_Zinf_Criterion ( Int_t  Mtot,
Int_t  Zmax,
Int_t  Zinf,
KVString  chain_name = "" 
)

Determine toutes les partitions pour :

  • une multiplicité de partition donnée (Mtot)
  • une taille donnée du plus gros fragment de la partition (Zmax)
  • une taille minimale pour les fragments de la partition (Zinf)
  • le nom du fichier ou la TChain recapitulant tous les arbres crees va etre enregistree (par defaut, si chain_name=="", le nom de fichier est formate en fonction des arguments

Definition at line 554 of file KVPartitionGenerator.cpp.

◆ BreakUsing_Ztot_Mtot_Zinf_Criterion()

void KVPartitionGenerator::BreakUsing_Ztot_Mtot_Zinf_Criterion ( Int_t  Ztot,
Int_t  Mtot,
Int_t  Zinf,
KVString  chain_name = "" 
)

Determine toutes les partitions pour :

  • une taille totale de la partition donnée (Ztot)
  • une multiplicité de partition donnée (Mtot)
  • une taille minimale pour les fragments de la partition (Zinf)
  • le nom du fichier ou la TChain recapitulant tous les arbres crees va etre enregistree (par defaut, si chain_name=="", le nom de fichier est formate en fonction des arguments

Definition at line 444 of file KVPartitionGenerator.cpp.

◆ BreakUsing_Ztot_Zinf_Criterion()

void KVPartitionGenerator::BreakUsing_Ztot_Zinf_Criterion ( Int_t  Ztot,
Int_t  Zinf,
KVString  chain_name = "",
Int_t  min = -1,
Int_t  max = -1 
)

Determine toutes les partitions pour :

  • une taille totale de la partition donnée (Ztot)
  • une taille minimale pour les fragments de la partition (Zinf)
  • le nom du fichier ou la TChain recapitulant tous les arbres crees va etre enregistree (par defaut, si chain_name=="", le nom de fichier est formate en fonction des arguments Les arguments min et max permettent de restreindre le calcul a une plage en multiplicité si min==-1 (defaut) -> mfmin=1 si max==-1 (defaut) -> mfmax=Ztot/Zinf

Definition at line 402 of file KVPartitionGenerator.cpp.

◆ BreakUsing_Ztot_Zmax_Zinf_Criterion()

void KVPartitionGenerator::BreakUsing_Ztot_Zmax_Zinf_Criterion ( Int_t  Ztot,
Int_t  Zmax,
Int_t  Zinf,
KVString  chain_name = "" 
)

Determine toutes les partitions pour :

  • une taille totale de la partition donnée (Ztot)
  • une taille donnée du plus gros fragment de la partition (Zmax)
  • une taille minimale pour les fragments de la partition (Zinf)
  • le nom du fichier ou la TChain recapitulant tous les arbres crees va etre enregistree (par defaut, si chain_name=="", le nom de fichier est formate en fonction des arguments

Definition at line 473 of file KVPartitionGenerator.cpp.

◆ GetDeltaTime()

Int_t KVPartitionGenerator::GetDeltaTime ( )
protected

protected method Retoune le temps ecoules (en seconde) entre un appel Start() et un appel Stop()

Definition at line 667 of file KVPartitionGenerator.cpp.

◆ init()

void KVPartitionGenerator::init ( void  )
protected

protected method Initisalisation des variables

Definition at line 35 of file KVPartitionGenerator.cpp.

◆ MakePartitions()

void KVPartitionGenerator::MakePartitions ( Int_t  Ztot,
Int_t  Mtot,
Int_t  Zinf 
)
protected

protected method Cree un fichier avec nom formate : From_[ClassName]_Zt[Ztot]_Mt[Mtot]_Zm[Zinf].root

Defini l'arbre ou seront enregistrees les partitions

Determine toute les partitions pour un couple donné de parametres : (Ztot, Mtot, Zinf) avec :

  • Ztot -> taille totale de la partition
  • Mtot -> multiplicité de partition

- Zinf -> taille minimale pour les fragments de la partition

Enregistre l arbre et ferme le fichier

Routine centrale de la classe appelée par toutes les methodes de type Break_Using...Criterion()

Definition at line 114 of file KVPartitionGenerator.cpp.

◆ PreparTree()

void KVPartitionGenerator::PreparTree ( )
protected

protected method Creation du fichier formate suivant les parametres passes via la methode SetConditions Creation de l'arbre

Definition at line 179 of file KVPartitionGenerator.cpp.

◆ Process()

void KVPartitionGenerator::Process ( void  )
protected

protected method Determine toute les partitions pour un couple donné de parametres : (Ztot, Mtot, Zinf) avec :

  • Ztot -> taille totale de la partition
  • Mtot -> multiplicité de partition
  • Zinf -> taille minimale pour les fragments de la partition

Definition at line 217 of file KVPartitionGenerator.cpp.

◆ SetConditions()

void KVPartitionGenerator::SetConditions ( Int_t  Ztot,
Int_t  Mtot,
Int_t  Zinf 
)
protected

protected method Repercute les parametres passes via la methode SetConditions Prepare les tableaux necessaires

Definition at line 152 of file KVPartitionGenerator.cpp.

◆ SetPathForFile()

void KVPartitionGenerator::SetPathForFile ( KVString  path)

Defini le chemin ou les arbres seront ecris prevoir des zones pouvant recevoir de gros volumes de données si les calculs de partitions se fait a partir de grosse taille initiale

Definition at line 84 of file KVPartitionGenerator.cpp.

◆ Start()

void KVPartitionGenerator::Start ( )
protected

protected method Signal start

Definition at line 635 of file KVPartitionGenerator.cpp.

◆ Stop()

void KVPartitionGenerator::Stop ( )
protected

protected method Signal stop

Definition at line 650 of file KVPartitionGenerator.cpp.

◆ TreatePartition()

void KVPartitionGenerator::TreatePartition ( )
virtual

Rempli l arbre avec la partition courante Incremente les compteurs sur le nombre de particules creees

Definition at line 586 of file KVPartitionGenerator.cpp.

◆ WriteTreeAndCloseFile()

void KVPartitionGenerator::WriteTreeAndCloseFile ( )
virtual

Test le fichier courant (pointeur gFile) Si tout va bien Ecriture de l arbre dans le fichier (tout deux definis dans PreparTree) et ajout du nom de fichier dans une liste permettant de generer la TChain en fin de processus

Definition at line 607 of file KVPartitionGenerator.cpp.

Member Data Documentation

◆ cname

KVString KVPartitionGenerator::cname
protected

Definition at line 75 of file KVPartitionGenerator.h.

◆ flist

KVUniqueNameList* KVPartitionGenerator::flist
protected

Definition at line 95 of file KVPartitionGenerator.h.

◆ kcurrent

Int_t* KVPartitionGenerator::kcurrent
protected

Definition at line 92 of file KVPartitionGenerator.h.

◆ kmt

Int_t KVPartitionGenerator::kmt
protected

Definition at line 91 of file KVPartitionGenerator.h.

◆ kwriting_path

KVString KVPartitionGenerator::kwriting_path
protected

Chemin ou les arbres seront ecrits.

Definition at line 75 of file KVPartitionGenerator.h.

◆ kzinf

Int_t KVPartitionGenerator::kzinf
protected

Definition at line 91 of file KVPartitionGenerator.h.

◆ kzt

Int_t KVPartitionGenerator::kzt
protected

Definition at line 91 of file KVPartitionGenerator.h.

◆ mshift

Int_t KVPartitionGenerator::mshift
protected

Variables additionnelles utilisees par les methodes BreakUsing_Zf_Zmax_Zinf_Criterion et BreakUsing_Mtot_Zmax_Zinf_Criterion, pour l enregistrement des partitions dans tabz

Definition at line 83 of file KVPartitionGenerator.h.

◆ mtot

Int_t KVPartitionGenerator::mtot
protected

Variables pemettant le remplissage des partitions dans un arbre

Definition at line 88 of file KVPartitionGenerator.h.

◆ npar

Double_t KVPartitionGenerator::npar
protected

Compteurs de nombre de partitions crees.

Definition at line 73 of file KVPartitionGenerator.h.

◆ npar_zt_mt

Double_t KVPartitionGenerator::npar_zt_mt
protected

Definition at line 73 of file KVPartitionGenerator.h.

◆ tabz

Int_t* KVPartitionGenerator::tabz
protected

[ndim]

Definition at line 89 of file KVPartitionGenerator.h.

◆ tellapsed

Int_t KVPartitionGenerator::tellapsed
protected

Definition at line 98 of file KVPartitionGenerator.h.

◆ tname

KVString KVPartitionGenerator::tname
protected

Definition at line 75 of file KVPartitionGenerator.h.

◆ to_be_checked

Bool_t KVPartitionGenerator::to_be_checked
protected

Definition at line 77 of file KVPartitionGenerator.h.

◆ tree

TTree* KVPartitionGenerator::tree
protected

Definition at line 94 of file KVPartitionGenerator.h.

◆ tstart

Int_t KVPartitionGenerator::tstart
protected

To give an estimation of time consuming.

Definition at line 98 of file KVPartitionGenerator.h.

◆ tstop

Int_t KVPartitionGenerator::tstop
protected

Definition at line 98 of file KVPartitionGenerator.h.

◆ zshift

Int_t KVPartitionGenerator::zshift
protected

Definition at line 84 of file KVPartitionGenerator.h.

◆ ztot

Int_t KVPartitionGenerator::ztot
protected

Definition at line 88 of file KVPartitionGenerator.h.


The documentation for this class was generated from the following files: