[PDF] Root Histogram Builder tous la même largeur





Previous PDF Next PDF



HISTOGRAMMES AVEC EXCEL

Dans l'onglet Échelle choisir un Minimum de 55



« graphique avec « barres derreurs » sous excel »

N.B. Les fonctions MAX(…) et MIN(…) déterminent la valeur maximale et minimale d'une série de cases placées entre les parenthèses. Tableau relatif à l'exemple :.





Manuel danalyse dimages avec le logiciel ImageJ

L'histogramme d'une image est une fonction discrète qui représente la répartition 5- Les filtres Min/Max: ce sont des cas particuliers car il ne s'agit.



Lire ; Compter ; Tester avec R

Excel étant un logiciel propriétaire il est difficile `a un autre logiciel de lire le format .xls. Par contre



Créer une boite à moustache avec Excel 2010

Créer une boite à moustache avec Excel 2010 MIN. QUART 1. MEDIANE. QUART 3. MAX. L'onglet Sélectionner des données permet de renommer le nom des séries ...



STATISTIQUE AVEC EXCEL

- Ecrire en C21 : Ecart-type = et en D21 effectuer le calcul de l'écart-type avec la formule adéquate : =RACINE (D20). (C) Diagramme à secteurs et histogramme a 



Root Histogram Builder

tous la même largeur et sont définis à l'aide du nombre de canaux et des valeurs minimum et maximum sur l'axe des abscisses. Voici un exemple d'histogramme 



Statistiques et traitement des données

Dans Excel : ECARTYPE. peut etre plus large (min. et max. possibles). ... L'histogramme est un mode de représentation des distributions à caractère.



analyse-R.pdf

26 avr. 2022 On citera notamment c q

.

1 Root Histogram Builder

3 A. Pourquoi RHB? Lors d'un processus d'analyse avec ROOT, il est nécessaire d'écrire du code pour déclarer et remplir des histogrammes. Si cette tâche est facilement réalisable pour des programmeurs expérimentés connaissant bien l'environnement ROOT, elle peu rapidement s'avérer ardue pour des programmeurs débutant en C++ et/ou débutant avec ROOT. Le but du ROOT Histogram Builder (RHB en abrégé) est de pouvoir déclarer et remplir simplement des histogrammes sans écrire une ligne de code. Les déclarations des histogrammes sont alors réalisées à l'aide d'une interface graphique, le système s'occupant de remplir les histogrammes en fonctions des déclarations faites par l'utilisateur. 1. Principes de base Comme décrit dans l'introduction, le système s'occupe de lire les données et de remplir les histogrammes. L'utilisateur n'a donc qu'à sélectionner les sources de données et à déclarer les histogrammes en indiquant quelles données doivent être utilisées pour remplir cet histogramme. Dans RHB, en plus des paramètre de base, l'utilisateur a la possibilité de définir des paramètres qui peuvent être des fonctions de paramètres existants. Des conditions de remplissage des histogrammes peuvent également être définies. Si une telle condition est attribuée à un histogramme, celui-ci ne sera rempli que si la condition est vérifiée. Pour chaque type d'histogramme, l'utilisateur n'aura donc qu'à en définir les dimensions (nombre de canaux, valeurs minimum et maximum sur chaque axe) et à attribuer à chacun des axes les paramètres désirés, et éventuellement une condition de remplissage. 2. Les FEventProcessor Le FEventProcessor est l'objet d'analyse qui permet de réaliser toutes les tâches de lecture des données et de remplissage des histogrammes. Les utilisateurs expérimentés pourront définir leur propre FEventProcessor en déclarant une classe fille. Ceci permet de réaliser des tâches complexes ou de calculer des paramètres ou des conditions dont la définition ne peut être faite à l'aide d'une formule mathématique simple. 3. Les paramètres Dans RHB, trois types de paramètres ont été définis. Nous allons maintenant en détailler leurs définitions et leurs propriétés. a) Bruts Les paramètres bruts sont ceux qui sont directement lus par le FEventProcessor. L'utilisateur n'a en général pas accès à leur définition. La liste de ces paramètres dépend de l'expérience et est définie au lancement de RHB. Ils peuvent être soit simples (une donnée par paramètre) ou multiples ou sous forme de vecteur (plusieurs données par paramètre). Dans la très grande majorité des cas, ces paramètres ont des valeurs entières. Lors de la définition d'un FEventProcessor, de tels paramètres peuvent être déclarés. L'utilisateur a alors la charge d'en attribuer les valeurs à chaque lecture de données. b) Calculés Les paramètres calculés sont des fonctions mathématiques simples de paramètres existants. Du fait de l'utilisation d'objets de ROOT (les TFormula) pour réaliser cette opération, les paramètres calculés ne peuvent contenir au plus que quatre paramètres existants. Cette limitation peut être contournée en définissant des paramètres calculés intermédiaires.

4 Les paramètres calculés peuvent aussi contenir des coefficients variables qui peuvent être modifiés en cours d'exécution de l'analyse. Cela permet de définir les paramètres calculés sans nécessairement connaître la valeur de ces coefficients. Dans la définition, ils sont déclarés en indiquant un nombre entre crochets. Ce nombre correspond à l'indice du coefficient dans le tableau de coefficients associé à ce paramètre. Il doivent commencer par 0 (indice du premier coefficient) et être consécutifs. Voici quelques exemples de déclaration de paramètres calculés. Dans les exemples présentés ci-dessous, les paramètres bruts suivants sont définis: Param_001, Param_002, Param_003, Param_004 et Param_005. •!

ParCal_1=a.Param_001+b

: [0]*Param_001+[1] •!

ParCal_2=a.Param_002

2 +b.Param_002+c : [0]*power(Param_002,2)+[1]*Param_002+[2] •!

ParCal_3=a.sin(".Param_003+#)+b

: [0]*sin([1]*Param_003+[2])+[3] •! : [0]*Param_004+[1]*Param_001+[2]*Param_002*Param_003 •!

ParCal_5=

0siParam_001 0 a.Param_002+bsiParam_001>X 0 : (Param_001 < [0])*([1]*Param_002+[2]) •!

Param_004

Param_005

: comme il y a plus de 4 variables dans cette déclaration, on va déclarer au préalable le paramètre calculé "intermédiaire" !

ParCal_6bis=Param_002.Param_003

puis utiliser ce paramètre calculé dans la déclaration de ParCal_6. Ceci donne donc: pour ParCal_6bis: sqrt(Param_002*Param_003) pour ParCal_6: [0]*Param_001+[1]*ParCal_6bis+[2]*(Param_004/Param_005)

5 c) Conditions Les conditions sont des paramètres calculés dont le résultat est 0 (faux) ou 1 (vrai). Ils se déclarent comme les paramètres calculés. Des contours graphiques (TCutG) peuvent être également utilisés comme condition. Dans ce cas, la condition sera vraie si le point repéré par les deux paramètres de la condition se situe à l'intérieur du contour. Pour déclarer de telles conditions, il suffit d'indiquer le nom de la coupure graphique dans la déclaration. On peut bien sûr utiliser des conditions dans la déclaration d'une condition. Voici quelques exemples de déclaration. •!

Cond_1=a"Param_001 : ([0]<=Param_001) && (Param_001 < [1]) •!

Cond_2=Param_003b

: ([0]>Param_003) || (Param_003 > [1]) •!

Cond_3=Cond_1 et Cond_2

: Cond_1 && !Cond_2

6 4. Les types d'histogrammes Dans RHB, il existe huit types d'histogrammes. Certains sont "standards" (histogrammes 1D, 2D, profile) et les autres sont spécifiques à RHB. Une condition peut être associé a un histogramme. Dans ce cas, il ne sera incrémenté que si la condition est vraie. Voici le détail de leurs définitions et de leurs propriétés. a) Histogrammes 1D Les histogrammes 1D (type FH1F dans RHB) sont des histogrammes dont chaque canal contient le nombre de fois où une valeur donnée du paramètre associé à l'axe des abscisses (axe "X") est comprise dans l'intervalle des valeurs de ce canal. Les intervalles de valeurs ont tous la même largeur et sont définis à l'aide du nombre de canaux et des valeurs minimum et maximum sur l'axe des abscisses. Voici un exemple d'histogramme 1D. Titre de l'histogramme Nom de l'histogramme Paramètre dont on fait l'histogramme

7 b) Histogrammes 2D Les histogrammes 2D (type FH2F dans RHB) sont des histogrammes dont chaque cellule contient le nombre de fois où un couple de paramètres ont des valeurs comprises dans les limites associées à cette cellule. Les cellules ont toutes la même largeur et la même hauteur et sont définies à l'aide du nombre de canaux et des valeurs minimum et maximum pour chacun des axes. Voici un exemple d'histogramme 2D. Titre de l'histogramme Nom de l'histogramme Paramètre associé à l'axe X Paramètre associé à l'axe Y

8 c) Histogrammes Profile Les histogrammes Profile (type FProfile dans RHB) sont des histogrammes dont chaque canal contient la valeur moyenne du paramètre associé à l'axe des ordonnées (axe "Y") pour l'intervalle des valeurs du paramètre associé à l'axe des abscisses (axe "X") associée à ce canal. Les intervalles de valeurs sur l'axe des abscisses ont tous la même largeur et sont définis à l'aide du nombre de canaux et des valeurs minimum et maximum sur cet axe. Voici un exemple d'histogramme Profile. Titre de l'histogramme Nom de l'histogramme Paramètre associé à l'axe X Paramètre associé à l'axe Y

9 d) Histogrammes échelles Les histogrammes échelle (type FHScale dans RHB) est des histogramme 1D pour lesquels chaque canal contient le nombre de fois où le paramètre associé à ce canal est lu. Voici un exemple d'histogramme échelle. Titre de l'histogramme Nom de l'histogramme Paramètres associés à chaque canal

10 e) Histogrammes de contrôle Les histogrammes de contôle (type FHCtrl dans RHB) sont des histogrammes 2D pour lesquels les distributions 1D des paramètres associés à un axe sont juxtaposées les unes aux autres. Ceci permet de visualiser en une fois plusieurs distributions de paramètres. L'histogramme de contrôle est qualifié de "vertical" si l'axe des abscisses (axe "X") contient les noms des paramètres et sera qualifié d'"horizontal" si c'est l'axe des ordonnées (axe "Y") qui contient les noms des paramètres. Voici un exemple d'histogramme de contrôle "vertical". Voici un exemple d'histogramme de contrôle "horizontal". Titre de l'histogramme Paramètres associés à chaque canal Valeurs des paramètres Paramètres associés à chaque canal Valeurs des paramètres Titre de l'histogramme

11 f) Histogrammes temporels Les histogrammes temporels sont des histogrammes pour lesquels l'axe des abscisses (axe "X") est associé à l'heure et à la date courante. Il en existe deux types dont les descriptions sont détaillées dans les paragraphes suivants. Les largeurs des canaux sont toutes identiques. Lorsque l'incrémentation du canal le plus à droite est terminée, les contenus de tous les canaux sont décalés vers la gauche, le contenu du premier canal étant perdu, et le canal le plus à droite est à nouveau incrémenté. (1) 2D Pour les histogrammes temporels 2D (type FTimeHist dans RHB), les distributions du paramètre associé à l'axe des ordonnées (axe "Y") correspondant à chaque intervalle de temps sont juxtaposées les unes aux autres. Voici un exemple d'histogramme temporel 2D. (2) Profiles Pour les histogrammes temporels Profile (type FTimeProfile dans RHB), la valeur moyenne du paramètre associé à l'axe des ordonnées (axe "Y") correspondant à chaque intervalle de temps est affichée. Voici un exemple d'histogramme temporel Profile. Titre de l'histogramme Nom de l'histogramme Axe temporel Paramètre associé à l'axe Y Valeurs du paramètre Titre de l'histogramme Nom de l'histogramme Axe temporel Paramètre associé à l'axe Y Valeurs moyennes du paramètre

13 B. L'interface graphique 1. Présentation générale L'interface graphique, présentée sur l'image suivante, se découpe en trois zones principales: la zone de commande de l'analyse, la liste des histogrammes déclarés et la zone de déclaration des histogrammes et des paramètres calculés. Cette dernière zone comporte cinq fenêtres sélectionnables à l'aide des onglets: la fenêtre de déclaration des histogrammes; la fenêtre de gestion des paramètres calculés; la fenêtre de gestion des conditions; la fenêtre de gestion des paramètres des histogrammes échelles et de contrôle; la fenêtre de déclaration générique d'histogrammes. Ces différents éléments sont décrits dans les paragraphes suivants. Commandes de l'analyse Liste des histogrammes Création des histogrammes Gestion des paramètres calculés Gestion des conditions Liste des paramètres des échelles et des histogrammes de contrôle Déclarations génériques des histogrammes

14 2. Fenêtre Commandes de l'analyse Cette fenêtre permet de gérer le lancement et l'arrêt de l'analyse de données. Elle permet également d'effacer le contenu des histogrammes. L'image suivante décrit les différent éléments. Lancer l'analyse Remettre à zéro le contenu de TOUS les histogrammes Arrêter l'analyse et fermer l'interface Mettre en pause l'analyse Arrêter l'analyse Compteurs: Total (taux de traitement) Etat de l'analyse (Stopped, Paused, Running)

15 3. Gestion des histogrammes La liste des noms des histogrammes déclarés dans l'analyse apparaît dans le bloc sous la fenêtre de commande de l'analyse. Le nom de chaque histogramme y figure, suivit des paramètres associés à ces histogrammes et éventuellement entre parenthèses la condition d'incrémentation de l'histogramme. Un click sur le nom de l'histogramme ajustera automatiquement les champs de la fenêtre de déclaration des histogrammes (voir plus loin). Les boutons du bas permettent d'effectuer des opérations sur les histogrammes, en particulier de détruire l'histogramme sélectionné, de le renommer et de changer son titre (voir plus loin). Lorsque les histogrammes sont sauvegardés dans un fichier ROOT, celui-ci a pour nom Save-JJ-MM-AAAA-hhmmss.root où JJ est le quantième du mois, MM le nombre du mois, AAAA l'année, hh l'heure, mm les minutes et ss les secondes. Par exemple, si la sauvegarde a lieu de 19 juin 2007 à 15h35m42s, le nom du fichier de sauvegarde est: Save-19-06-2007-153542.root. Si la case "Save histograms" est cochée, un fichier de sauvegarde des Liste des histogrammes Changer le titre Exporter le contenu dans un fichier ASCII Changer le nom Détruire Sauvegarde dans un fichier ROOT Si coché, sauvegarder les histogrammes à chaque arrêt de l'analyse. Histogramme sélectionné

16 histogrammes sera créé à chaque arrêt de l'analyse (click sur le bouton "Arrêt de l'analyse" ou "Fermeture de l'interface"). L'exportation du contenu de l'histogramme sélectionné dans un fichier ASCII se fait dans un fichier dont le nom est NomHisto-JJ-MM-AAAA-hhmmss.txt. où NomHisto est le nom de l'histogramme sélectionné, JJ est le quantième du mois, MM le nombre du mois, AAAA l'année, hh l'heure, mm les minutes et ss les secondes. Par exemple, si on réalise une exportation de l'histogramme nommé H1 le 19 juin 2007 à 16h33m35s, le nom du fichier ASCII est H1-19-06-2007-163335.txt. Les deux premières lignes contiennent la définition de l'histogramme. Le contenu est ensuite affiché sous la forme X;Y;Contenu. Ces fichiers peuvent ensuite être relus par d'autres applications de visualisation de données (Origin, Excel par exemple).

17 a) Créer un histogramme Pour créer un histogramme, il faut activer la fenêtre de création des histogrammes en cliquant sur l'onglet "Crea. Histo." de la partie droite de l'interface. La fenêtre suivante devait apparaître: Nom de l'histogramme Titre de l'histogramme Option d'affichage Type de l'histogramme Créer l'histogramme Remettre les champs à zéro

18 Il faut remplir les champs adéquats puis cliquer sur le bouton "Create histogram" pour créer l'histogramme. Lorsqu'un histogramme est sélectionné dans la liste des histogrammes (liste à gauche de l'interface, voir plus haut), les champs sont automatiquement ajustés. Suivant le type d'histogramme sélectionné, certains champs sont sans signification et seront ignorés lors de la création de l'histogramme. La signification de certains champs peut également changer en fonction du type d'histogramme sélectionné. Les significations des champs sont détaillées dans les paragraphes suivants (1) Histogrammes 1D Pour créer un histogramme 1D (type FH1F), il faut indiquer le nom, le titre de l'histogramme et l'option d'affichage dans les champs appropriés. Il faut ensuite sélectionner le type "TH1F" dans le cadre "Histogram Type". Il faut indiquer ensuite le nom du paramètre dont veut réaliser l'histogramme en tapant son nom ou en le sélectionnant dans le champ " X ". Il faut ensuite indiquer le nombre de canaux de cet histogramme, la valeur minimale et la valeur maximale à histogrammer. Si on veut que l'histogramme ne se remplisse que si une condition est vraie, il faut sélectionner ou taper le nom du paramètre de condition dans le champ "Condition". Il faut laisser vide ce champ si aucune condition n'est appliquée. L'histogramme sera créé en cliquant sur le bouton "Create Histogram". Créer l'histogramme Nom de l'histogramme Titre de l'histogramme Option d'affichage Histogramme 1D Nom du paramètre Valeur minimum Valeur maximum Nombre de canaux Condition

19 (2) Histogrammes 2D Pour créer un histogramme 2D (type FH2F), il faut indiquer le nom, le titre de l'histogramme et l'option d'affichage dans les champs appropriés. Il faut ensuite sélectionner le type "TH2F" dans le cadre "Histogram Type". Il faut indiquer ensuite le nom du paramètre de l'axe horizontal en tapant son nom ou en le sélectionnant dans le champ " X ". Il faut ensuite indiquer le nombre de canaux sur l'axe X de cet histogramme, la valeur minimale et la valeur maximale sur l'axe X. Il faut procéder de même pour l'axe vertical " Y ". Si on veut que l'histogramme ne se remplisse que si une condition est vraie, il faut sélectionner ou taper le nom du paramètre de condition dans le champ "Condition". Il faut laisser vide ce champ si aucune condition n'est appliquée. L'histogramme sera créé en cliquant sur le bouton "Create Histogram". Créer l'histogramme Nom de l'histogramme Titre de l'histogramme Option d'affichage Histogramme 2D Nom du paramètre X Valeur X minimum Valeur X maximum Nombre de canaux Condition Valeur Y maximum Nombre de canaux Valeur Y minimum Nom du paramètre Y

20 (3) Histogrammes Profile Pour créer un histogramme Profile (type FProfile), il faut indiquer le nom, le titre de l'histogramme et l'option d'affichage dans les champs appropriés. Il faut ensuite sélectionner le type "TProfile" dans le cadre "Histogram Type". Il faut indiquer ensuite le nom du paramètre de l'axe horizontal en tapant son nom ou en le sélectionnant dans le champ " X ". Il faut ensuite indiquer le nombre de canaux sur l'axe X de cet histogramme, la valeur minimale et la valeur maximale sur l'axe X. Il faut seulement indiquer le nom du paramètre sur l'axe " Y ", les autres champs n'ayant aucune signification pour les histogrammes Profile. Si on veut que l'histogramme ne se remplisse que si une condition est vraie, il faut sélectionner ou taper le nom du paramètre de condition dans le champ "Condition". Il faut laisser vide ce champ si aucune condition n'est appliquée. L'histogramme sera créé en cliquant sur le bouton "Create Histogram". Créer l'histogramme Nom de l'histogramme Titre de l'histogramme Option d'affichage Histogramme Profile Nom du paramètre X Valeur X minimum Valeur X maximum Nombre de canaux Condition Nom du paramètre Y

21 (4) Histogrammes échelles Pour créer un histogramme échelle (type FHScale), il faut indiquer le nom, le titre de l'histogramme et l'option d'affichage dans les champs appropriés. Il faut ensuite sélectionner le type "Scale" dans le cadre "Histogram Type". Les champs des axes sont sans signification. Les paramètres dont on veut le comptage sont ajustables dans la fenêtre de gestion des échelles et des histogrammes de contrôle (onglet "Scales & Ctrls"). Si on veut que l'histogramme ne se remplisse que si une condition est vraie, il faut sélectionner ou taper le nom du paramètre de condition dans le champ "Condition". Il faut laisser vide ce champ si aucune condition n'est appliquée. L'histogramme sera créé en cliquant sur le bouton "Create Histogram". Créer l'histogramme Nom de l'histogramme Titre de l'histogramme Option d'affichage Histogramme échelle Condition

22 (5) Histogrammes de contrôle Pour créer un histogramme de contrôle (type FHCtrl2D), il faut indiquer le nom, le titre de l'histogramme et l'option d'affichage dans les champs appropriés. Il faut ensuite sélectionner le type "Ctrl 2D" dans le cadre "Histogram Type". Si on veut un histogramme vertical (axe X= paramètres, axe Y = valeurs), il faut indiquer 0 pour le nombre de canaux de l'axe X, et indiquer le nombre de canaux, les valeurs minimum et maximum pour l'axe Y. Si on veut un histogramme horizontal (axe X= valeurs, axe Y = paramètres), ), il faut indiquer 0 pour le nombre de canaux de l'axe Y, et indiquer le nombre de canaux, les valeurs minimum et maximum pour l'axe X. Les paramètres dont on veut le comptage sont ajustables dans la fenêtre de gestion des échelles et des histogrammes de contrôle (onglet "Scales & Ctrls"). Si on veut que l'histogramme ne se remplisse que si une condition est vraie, il faut sélectionner ou taper le nom du paramètre de condition dans le champ "Condition". Il faut laisser vide ce champ si aucune condition n'est appliquée. L'histogramme sera créé en cliquant sur le bouton "Create Histogram". Créer l'histogramme Nom de l'histogramme Titre de l'histogramme Option d'affichage Histogramme de contrôle Condition Valeur X minimum Valeur X maximum Nombre de canaux en X (0 = vertical) Valeur Y maximum Nombre de canaux en Y (0=horizontal) Valeur Y minimum

23 (6) Histogrammes temporels Pour créer un histogramme temporel (type FTimeHist ou type FTimeProfile), il faut indiquer le nom, le titre de l'histogramme et l'option d'affichage dans les champs appropriés. Sur l'axe X, le nom du paramètre est sans signification. Il faut indiquer le nombre de canaux sur cet axe et le nombre de seconde par canal dans le champ "Min." de l'axe X. Le temps de départ de l'histogramme correspondra à la date de création de l'histogramme. Si on veut que l'histogramme ne se remplisse que si une condition est vraie, il faut sélectionner ou taper le nom du paramètre de condition dans le champ "Condition". Il faut laisser vide ce champ si aucune condition n'est appliquée. L'histogramme sera créé en cliquant sur le bouton "Create Histogram". (a) 2D Il faut sélectionner le type "Time Histogram (2D)" dans le cadre "Histogram Type". Il faut ensuite indiquer le nom de paramètre sur l'axe vertical " Y ", le nombre de canaux sur cet axe et les valeur minimum et la valeur maximum sur cet axe. (b) Profiles Il faut sélectionner le type "Time Profile" dans le cadre "Histogram Type". Il faut ensuite indiquer uniquement le nom de paramètre sur l'axe vertical " Y ". Créer l'histogramme Nom de l'histogramme Titre de l'histogramme Option d'affichage Histogramme temporel 2D Secondes par canal Nombre de canaux Condition Valeur Y maximum (2D) Nombre de canaux (2D) Valeur Y minimum (2D) Nom du paramètre Y Histogramme temporel Profile

24 b) Renommer un histogramme Pour changer le nom d'un histogramme, il faut d'abord le sélectionner dans la liste des histogrammes en cliquant dessus. Il faut ensuite changer le nom dans le champ "Nom" de la fenêtre de création des histogrammes. Il faut enfin cliquer sur le bouton "Rename" situé sous la liste des histogrammes. 2 Changer le nom de l'histogramme 1 Sélectionner l'histogramme 3 Cliquer ici

25 c) Changer le titre d'un histogramme Pour changer le titre d'un histogramme, il faut d'abord le sélectionner dans la liste des histogrammes en cliquant dessus. Il faut ensuite changer le nom dans le champ "Titre" de la fenêtre de création des histogrammes. Il faut enfin cliquer sur le bouton "Rentitle" situé sous la liste des histogrammes. 2 Changer le titre de l'histogramme 1 Sélectionner l'histogramme 3 Cliquer ici

26 d) Supprimer un histogramme Pour supprimer un histogramme, il faut d'abord le sélectionner dans la liste des histogrammes en cliquant dessus. Il faut ensuite cliquer sur le bouton "Remove" situé sous la liste des histogrammes. 1 Sélectionner l'histogramme 2 Cliquer ici

27 4. Les paramètres calculés Pour créer, modifier ou supprimer des paramètres calculés, il faut activer la fenêtre de gestion des paramètres calculés en cliquant su l'onglet "Par. Calc." Sur la fenêtre de droite de l'interface. La fenêtre suivante devrait apparaître:

28 a) Créer un paramètre calculé Pour créer un paramètre calculé, il faut procéder en trois étapes. Il faut d'abord taper le nom du paramètre calculé dans le champ de texte "Nom". Il faut ensuite taper la formule correspondant à ce paramètre dans le champ "Expression". Les coefficients variables sont ajoutés à l'expression en cliquant sur le bouton "[#]", puis en remplaçant le caractère "#" par le numéro du coefficient. Un paramètre existant peut être ajouté à la formule en le sélectionnant à l'aide du menu déroulant "Param". Une fois la formule complète, un clique sur le bouton "Add" ajoutera le paramètre calculé est ajouté au système. 2 Taper la formule du paramètre calculé 1 Taper le nom du paramètre calculé 3 Ajouter paramètre calculé au système Cliquer ici pour ajouter un coefficient à la formule Cliquer ici et sélectionner un paramètre pour l'ajouter à la formule

29 b) Modifier les valeurs des coefficients Les valeurs des coefficients des paramètres calculés peuvent être changées à tout moment. Pour cela il faut d'abord sélectionner le paramètre calculé dans le menu déroulant correspondant au champ "Nom". La formule du paramètre sélectionné apparaîtra automatiquement dans le champ "Expression". Pour chaque coefficient, un champ de texte apparaîtra avec sa valeur actuelle. Pour la modifier, il suffit de taper la nouvelle valeur ou d'utiliser les flèches à droite. Si on veut revenir aux valeurs en cours, il suffit de cliquer sur le bouton "Read". Pour valider les modifications, il faut cliquer sur le bouton "Update". 1 Cliquer ici et sélectionner le paramètre calculé 2 Changer les valeurs des coefficients 3 Valider les modifications Annuler les modifications

30 c) Supprimer un paramètre calculé Pour supprimer un paramètre calculé, il faut d'abord le sélectionner dans le menu déroulant correspondant au champ "Nom". Un click sur le bouton "Remove" le supprimera du système. ATTENTION: un paramètre calculé ne peut être supprimé que s'il n'est utilisé par aucun histogramme ni par aucun paramètre calculé. Si ce n'est pas le cas, un message d'alerte contenant la liste des noms des objets utilisant ce paramètre calculé. 2 Supprimer le paramètre calculé 1 Cliquer ici et sélectionner le paramètre calculé

31 5. Les conditions Pour créer, modifier ou supprimer des conditions, il faut activer la fenêtre de gestion conditions en cliquant su l'onglet "Conditions" Sur la fenêtre de droite de l'interface. L'interface de gestion des conditions est identique à celle des paramètres calculés.

32 a) Créer une condition Pour créer un paramètre calculé, il faut procéder en trois étapes. Il faut d'abord taper le nom du paramètre calculé dans le champ de texte "Nom". Il faut ensuite taper la formule ou le nom du contour graphique (TCutG) correspondant à ce paramètre dans le champ "Expression". Une fois la formule complète, un clique sur le bouton "Add" ajoutera le paramètre calculé est ajouté au système. (1) Formule Les coefficients variables sont ajoutés à l'expression en cliquant sur le bouton "[#]", puis en remplaçant le caractère "#" par le numéro du coefficient. L'opérateur OU peut être ajouté à la formule en cliquant sur le bouton "||". Un paramètre existant peut être ajouté à la formule en le sélectionnant à l'aide du menu déroulant "Param". (2) Contour graphique Il faut au préalable générer un contour graphique (voir le paragraphe "Créer un contour graphique") dans la session ROOT qui a lancé l'interface graphique. Le nom d'un contour graphique soit ensuite être tapé dans le champ "Expression". Les conditions avec des contours graphiques n'ont pas de coefficient. Lorsqu'elles sont sélectionnées, le nom du contour graphique suivit de "(TCutG)" apparaît dans le champ "Expression". 2 Taper la formule de la condition ou le nom d'un contour graphique 1 Taper le nom de la condition 3 Ajouter la condition au système Cliquer ici pour ajouter un coefficient à la formule Cliquer ici et sélectionner un paramètre pour l'ajouter à la formule Cliquer ici pour ajouter l'opérateur OU (|| en C++) à la formule

33 b) Modifier les valeurs des coefficients Les valeurs des coefficients des conditions peuvent être changées à tout moment. Pour cela il faut d'abord sélectionner la condition dans le menu déroulant correspondant au champ "Nom". La formule de la condition sélectionnée apparaîtra automatiquement dans le champ "Expression". Pour chaque coefficient, un champ de texte apparaîtra avec sa valeur actuelle. Pour la modifier, il suffit de taper la nouvelle valeur ou d'utiliser les flèches à droite. Si on veut revenir aux valeurs en cours, il suffit de cliquer sur le bouton "Read". Pour valider les modifications, il faut cliquer sur le bouton "Update". c) Supprimer une condition Pour supprimer une condition, il faut d'abord la sélectionner dans le menu déroulant correspondant au champ "Nom". Un click sur le bouton "Remove" la supprimera du système. ATTENTION: une condition ne peut être supprimé que si elle n'est pas utilisés par aucun histogramme ni par aucun paramètre calculé. Si ce n'est pas le cas, un message d'alerte contenant la liste des noms des objets utilisant cette condition. 1 Cliquer ici et sélectionner la condition 2 Changer les valeurs des coefficients 3 Valider les modifications Annuler les modifications 2 Supprimer la condition 1 Cliquer ici et sélectionner la condition

34 6. Création et édition des contours graphiques a) Créer un contour graphique Pour créer un contour graphique, il faut d'abord sélectionner un histogramme 2D dans la liste des histogrammes. Il faut ensuite cliquer sur le bouton "Create TCutG". Une boite de dialogue apparaît. Il faut indiquer le nom du contour graphique dans le champ de texte puis cliquer sur le bouton "OK". L'histogramme 2D s'affiche et le curseur devient une croix. Il faut cliquer sur le bouton gauche de la souris pour ajouter des points au contour graphique. Pour le fermer, il faut double-cliquer sur le bouton gauche de la souris. Ce contour graphique peut alors être utilisé par une condition graphique. 1 Sélectionner les paramètres à ajouter 2 Cliquer ici pour afficher l'histogramme et créer le contour graphique 3 Indiquer le nom du contour graphique dans le champ de texte 4 Cliquer ici pour valider le nom

35 5 Saisir le contour (click gauche pour ajouter un point et double click gauche pour le fermer)

36 b) Editer un contour graphique Pour éditer un contour graphique, il faut d'abord sélectionner l'histogramme 2D sur lequel ce contour a été défini dans la liste des histogrammes. Il faut ensuite cliquer sur le bouton "Edit TCutG". L'histogramme 2D s'affiche ainsi que tous les contours définis sur cet histogramme. La boite de légende en haut à gauche indique les noms des contours graphiques définis. Si nécessaire, le nom de la condition qui utilise le contour graphique est indiqué entre parenthèse. Les contours peuvent alors être déplacés à la souris. Les points peuvent également être modifiés à l'aide de la souris. Des points peuvent être ajoutés et/ou supprimés en sélectionnant les items "InsertPoint" et "RemovePoint" du menu déroulant des TCutG (clique droit lorsque la souris pointe sur le contour graphique). Un contour graphique qui n'est pas utilisé par une condition peut être détruit en sélectionnant l'item "Delete" du menu déroulant. ATTENTION: la destruction d'un contour graphique utilisé par une condition entraînera un arrêt brutal de RHB. 1 Sélectionner les paramètres à ajouter 2 Cliquer ici pour afficher l'histogramme et les contours graphiques associés

37 3 Déplacer les contours ou les points des contours à la souris et/ou utiliser le menu déroulant Contour utilisé par une condition. NE PAS DETRUITRE Contour inutilisé par une condition. Peut être détruit

38 Gestion des paramètres des histogrammes échelles et des histogrammes de contrôle Pour ajouter et/ou supprimer des paramètres à la liste des paramètres des histogrammes échelles ou des histogrammes de contrôle, il faut activer la fenêtre de gestion des histogrammes échelles et des histogrammes de contrôle en cliquant sur l'onglet "Scales & Ctrls" Sur la fenêtre de droite de l'interface. La fenêtre suivante devrait apparaître:

39 Il faut dans un premier temps sélectionner l'histogramme échelle ou l'histogramme de contrôle dont on veut modifier la liste des paramètres. Lorsque l'histogramme est sélectionné, la liste des paramètres de cet histogramme apparaît sur la liste à droite. La liste de tous les paramètres du système est située à gauche. c) Ajouter des paramètres à l'histogramme Pour ajouter des paramètres à l'histogramme, il suffit de sélectionner des paramètres dans la liste de gauche. Les paramètres sélectionnés apparaissent surlignés sur fond bleu. Il suffit alors de cliquer sur le bouton "" (flèche à droite) pour les ajouter à la liste des paramètres de l'histogramme. Ces paramètres apparaissent alors dans la liste des paramètres de l'histogramme. Pour ajouter tous les paramètres du système à l'histogramme sélectionner, il Cliquer ici pour sélectionner l'histogramme dont on veut modifier la liste des paramètres Liste des paramètres du système Liste des paramètres de l'histogramme

40 faut cliquer sur le bouton "Add All Param.". ATTENTION: un même paramètre peut figurer plusieurs fois sur la liste des paramètres de l'histogramme sélectionné. d) Enlever des paramètres à l'histogramme Pour enlever des paramètres de la liste des paramètres de l'histogramme, il faut d'abord les sélectionner dans la liste de droite, puis de cliquer sur le bouton "A" (flèche à gauche). Pour enlever tous les paramètres de la liste des paramètres de l'histogramme, il faut cliquer sur le bouton "Reset Param.". 1 Sélectionner les paramètres à ajouter 2 Cliquer ici pour les ajouter à la liste des paramètres de l'histogramme Ajouter tous les paramètres du système à la liste des paramètres de l'histogramme

41 1 Sélectionner les paramètres à enlever de la liste des paramètres de l'histogramme 2 Cliquer ici pour les enlever de la liste des paramètres de l'histogramme Enlever tous les paramètres de la liste des paramètres de l'histogramme

42 7. Déclaration générique des histogrammes Il est parfois utile de déclarer une série d'histogrammes relatifs à un ou des paramètres dont les noms contiennent des nombres consécutifs. Bien qu'il soit possible de les déclarer un par un, cela devient rapidement fastidieux lorsque le nombre d'histogrammes à déclarer devient important (typiquement au-delà de 5). La déclaration générique d'histogramme permet de réaliser ces opérations de déclaration en ne spécifiant qu'un nombre limité de variables. Elle est par contre moins simple à utiliser que les déclaration individuelles. Pour activer l'interface graphique de déclaration générique d'histogrammes, il faut cliquer sur l'onglet "Generic Building" Sur la fenêtre de droite de l'interface. La fenêtre suivante devrait apparaître: Les significations des différents champs dépendent du type des histogrammes à générer. Elles seront détaillées dans les paragraphes suivants. a) Principes de base Les noms des histogrammes et des paramètres associés vont comprendre des champs de texte constitués de numéros avec ou sans formatage appelés "champs variables". Il va donc falloir indiquer au système quels sont ces champs de texte comportant ces numéros. La déclaration des champs variables se fera selon une syntaxe particulière qui sera détaillée dans le paragraphe suivant. Il faudra en général veiller à ce que le nombre de noms d'histogrammes et le nombre de paramètres associés soient les mêmes. Si ce n'est pas le cas, un message d'erreur apparaîtra dans la fenêtre dans laquelle RHB a été lancé. Les noms avec champs variables seront gardés en mémoire tout au long de la session et seront donc sélectionnables à l'aide des menus déroulants des champs "Generic name", "Generic title", " X " et " Y ".

43 b) Les noms avec les champs variables Les champs variables sont déclarés à l'aide de la chaîne de caractère suivante.: #[nom,format,minimum,maximum] où nom est le nom du champ variable, format un format C/C++ standard, minimum la valeur minimum du champ variable et maximum la valeur maximum du champ variable. Lors de la génération du nom, cette chaîne de caractère sera remplacée par la valeur du nombre formaté selon format indiqué, la valeur allant de minimum à maximum par pas de 1. Un format "vide" sera indiqué par un caractère espace. Dans ce cas, la chaîne de déclaration du champ variable sera remplacée par une chaîne de caractère vide. Cela permet d'assurer la compatibilité du nombre de noms générés tout en laissant certains indices "muets". Le nombre total de nombre générés sera le produit des nombres d'éléments de chacun des champs variables. Un numéro d'ordre entre parenthèses peut-être indiqué derrière le nom du champ variable. Dans ce cas, l'ordre d'incrémentation se fera avec les numéros d'ordre indiqués. Par défaut, les itérations se feront dans l'ordre inverse des déclarations. Voici quelques exemples de noms avec des champs variables et les résultats associés. • Param#[i,%02d,1,4] génère les 4 noms suivants dans cet ordre: Param01, Param02, Param04 et Param04 • Tutu#[i,%d,1,3]_#[j,%03d,1,2] génère les 6 noms suivants dans cet ordre: Tutu1_001, Tutu2_001, Tutu3_001, Tutu1_002, Tutu2_002 et Tutu3_002 • Tutu#[i(2),%d,1,3]_#[j(1),%03d,1,2] donnera le même résultat que Tutu#[i,%d,1,3]_#[j,%03d,1,2] • Tutu#[i(1),%d,1,3]_#[j(2),%03d,1,2] génère les 6 noms suivants dans cet ordre: Tutu1_001, Tutu1_002, Tutu2_001, Tutu2_002, Tutu3_001 et Tutu3_002 • Tutu#[i, ,1,3]_#[j,%03d,1,2] génère les 6 noms suivants dans cet ordre: Tutu_001, Tutu_001, Tutu_001, Tutu_002, Tutu_002 et Tutu_002 • Tutu#[i(1), ,1,3]_#[j(2),%03d,1,2] génère les 6 noms suivants dans cet ordre: Tutu_001, Tutu_002, Tutu_001, Tutu_002, Tutu_001 et Tutu_002 • TutuCtrl#[i, ,1,3]#[j, ,1,2] génère 6 fois le nom TutuCtrl

44 c) Déclaration des histogrammes Pour déclarer des histogrammes, il faut d'abord spécifier le nom avec champs variables dans le champ de texte "Generic name" et le titre avec champs variables de l'histogramme dans le champ de texte "Generic title". Si le champ de texte "Generic title" est laissé vide, les titres seront automatiquement générés en utilisant les noms des paramètres associés aux histogrammes. Si des noms ou des titres ont déjà été tapés, ils peuvent être sélectionné avec le menu déroulant pour servir de base pour d'autres noms génériques. Les histogrammes sont générés en cliquant (1) Histogrammes 1D Il faut sélectionner le type "FH1F" dans le menu déroulant "Histogram Class". Il faut ensuite taper le nom générique des paramètres dans le champ de texte " X ". Le nombre de noms de paramètres doit correspondre au nombre de noms d'histogrammes générés. Il faut ensuite indiquer le nombre de canaux de ces histogrammes dans le champ "Bins" et les valeurs minimum et maximum dans les champs "Min." et "Max." respectivement. Dans l'exemple de la figure ci dessus, les quatre histogrammes suivants seront générés: Nom Nom du paramètre en X Nombre de canaux X min X max Toto01 Param_001 512 0 1024 Toto02 Param_002 512 0 1024 Toto03 Param_003 512 0 1024 Toto04 Param_004 512 0 1024

45 (2) Histogrammes 2D Il faut sélectionner le type "FH2F" dans le menu déroulant "Histogram Class". Il faut ensuite taper les noms génériques des paramètres dans les champs de texte " X ". Le nombre de noms des paramètres doit correspondre au nombre de noms d'histogrammes générés. Il faut ensuite indiquer le nombre de canaux de ces histogrammes dans le champ "Bins" et les valeurs minimum et maximum dans les champs "Min." et "Max." respectivement. Il faut répéter cette procédure pour l'axe des ordonnées " Y ". Les nombres de noms de paramètres en " X " et en " Y " doivent être identiques.

Dans l'exemple de la figure ci dessus, les six histogrammes suivants seront générés: Nom du paramètre en X Nombre de canaux en X X min X max Nom Nom du paramètre en Y Nombre de canaux en Y Y min Y max Param_001 512 0 1024 Toto01_1 Parcal_1 128 0 512 Param_002 512 0 1024 Toto02_1 Parcal_1 128 0 512 Param_001 512 0 1024 Toto03_1 Parcal_1 128 0 512 Param_001 512 0 1024 Toto01_2 Parcal_2 128 0 512 Param_002 512 0 1024 Toto02_2 Parcal_2 128 0 512 Param_003 512 0 1024 Toto03_2 Parcal_2 128 0 512

46 (3) Histogrammes Profile Il faut sélectionner le type "FProfile" dans le menu déroulant "Histogram Class". Il faut ensuite taper les noms génériques des paramètres dans les champs de texte " X ". Le nombre de noms des paramètres doit correspondre au nombre de noms d'histogrammes générés. Il faut ensuite indiquer le nombre de canaux de ces histogrammes dans le champ "Bins" et les valeurs minimum et maximum dans les champs "Min." et "Max." respectivement. Pour l'axe des ordonnées " Y ", il suffit de taper le nom générique des paramètres correspondant à cet axe. Les nombres de noms de paramètres en " X " et en " Y " doivent être identiques. Dans l'exemple de la figure ci dessus, les six histogrammes suivants seront générés: Nom du paramètre en X Nombre de canaux en X X min X max Nom Nom du paramètre en Y Parcal_1 512 0 512 TotoProf01_1 Param_001 Parcal_2 512 0 512 TotoProf01_2 Param_001 Parcal_1 512 0 512 TotoProf02_1 Param_002 Parcal_2 512 0 512 TotoProf02_2 Param_002 Parcal_1 512 0 512 TotoProf03_1 Param_003 Parcal_2 512 0 512 TotoProf03_2 Param_003

47 (4) Histogrammes échelles Il faut sélectionner le type "FHScale" dans le menu déroulant "Histogram Class". Il faut ensuite taper les noms génériques des paramètres dans les champs de texte " X ". Le nombre de noms des paramètres doit correspondre au nombre de noms d'histogrammes générés. Si l'histogramme existe déjà, les paramètres seront automatiquement ajoutés à cet histogramme. Dans l'exemple de la figure ci dessus, les deux histogrammes suivants seront générés: Nom Nom des paramètre en X Param_001 Param_002 Scale_01 Param_003 Param_004 Param_005 Scale_02 Param_006

48 (5) Histogrammes de contrôle Il faut sélectionner le type "FHCtrl" dans le menu déroulant "Histogram Class". Pour un histogramme "vertical" (noms des paramètres sur l'axe "X"), il faut ensuite taper les noms génériques des paramètres dans les champs de texte " X ". Il faut ensuite indiquer le nombre de canaux de l'axe des ordonnées (axe "Y") de ces histogrammes dans le champ "Bins" correspondant à l'axe " Y ", ainsi que les valeurs minimum et maximum dans les champs "Min." et "Max." respectivement. Pour un histogramme "horizontal" (noms des paramètres sur l'axe "Y"), il faut ensuite taper les noms génériques des paramètres dans les champs de texte " Y ". Il faut ensuite indiquer le nombre de canaux de l'axe des abscisses (axe "X") de ces histogrammes dans le champ "Bins" correspondant à l'axe " X ", ainsi que les valeurs minimum et maximum dans les champs "Min." et "Max." respectivement. Si l'histogramme existe déjà, les paramètres seront automatiquement ajoutés à l'axe des noms de paramètres de cet histogramme. Dans l'exemple de la figure ci dessus, l'histogramme de contrôle "horizontal" suivant sera généré: Nom Nom des paramètres en Y Nombre de canaux en X X min X max ControleH Param_001 Param_002 Param_003 256 0 1024

49 Dans cet exemple de la figure ci-dessus, des paramètres seront ajoutés à l'histogramme de contrôle "horizontal" nommé "ControleH" et le résultat final sera le suivant: Nom Nom des paramètres en Y Nombre de canaux en X X min X max ControleH Param_001 Param_002 Param_003 ParCal_1 ParCal_2 256 0 1024

50 (6) Histogrammes temporels (a) 2D Il faut sélectionner le type "FTimeHist" dans le menu déroulant "Histogram Class". Il faut ensuite indiquer le nombre de canaux de ces histogrammes dans le champ "Bins" de l'axe " X " et l'intervalle de temps en secondes correspondant à chaque canal dans le champ "Min.". Il faut ensuite taper les noms génériques des paramètres dans les champs de texte " Y ". Il faut ensuite indiquer le nombre de canaux de l'axe des ordonnées (axe "Y") de ces histogrammes dans le champ "Bins" correspondant à l'axe " Y ", ainsi que les valeurs minimum et maximum dans les champs "Min." et "Max." respectivement. Le nombre de noms des paramètres doit correspondre au nombre de noms d'histogrammes générés. Dans l'exemple de la figure ci dessus, les trois histogrammes suivants seront générés: Nombre de canaux en X largeur d'un canal t min t max Nom Nom du paramètre en Y Nombre de canaux en Y Y min Y max Condition 120 5 0 600 TimeHist01 Param_001 128 0 512 CondParam_0001 120 5 0 600 TimeHist02 Param_002 128 0 512 CondParam_0002 120 5 0 600 TimeHist03 Param_002 128 0 512 CondParam_0003

51 (b) Profiles Il faut sélectionner le type "FTimeProfile" dans le menu déroulant "Histogram Class". Il faut ensuite indiquer le nombre de canaux de ces histogrammes dans le champ "Bins" de l'axe " X " et l'intervalle de temps en secondes correspondant à chaque canal dans le champ "Min.". Il faut ensuite taper les noms génériques des paramètres dans les champs de texte " Y ". Le nombre de noms des paramètres doit correspondre au nombre de noms d'histogrammes générés. Dans l'exemple de la figure ci dessus, les deux histogrammes suivants seront générés: Nombre de canaux en X Largeur d'un canal t min t max Nom Nom du paramètre en Y 60 10 0 600 TimeProfile01 ParCal_1 60 10 0 600 TimeProfile02 ParCal_2

52 8. Les fichiers de configuration a) Rôle Les fichiers de configuration permettent de sauvegarder dans un fichier texte (format ASCII) les informations relatives aux déclarations des paramètres calculés, des conditions et des histogrammes. L'extension de ces fichiers est ".facqConf". Ils peuvent être générés et chargés à l'aide de l'interface graphique. Ces fichiers peuvent également être modifiés ou créés par un éditeur de texte. Ce dernier mode est déconseillé pour les utilisateurs débutants. b) Charger Pour charger un fichier de configuration, il faut cliquer sur le bouton "Load Config" situé en bas de la liste des histogrammes. Une fenêtre de navigation de fichier va apparaître. Il faut ensuite sélectionner le fichier, puis de cliquer sur le bouton "Open" pour le charger. La liste des paramètres calculés, des conditions et des histogrammes sera alors automatiquement mise à jour. Si le bouton "Cancel" est cliqué, l'opération de chargement de configuration sera interrompue. 1 Cliquer ici 2 Cliquer sur un fichier pour le séléctionner 3 Cliquer ici pour charger la configuration 3 bis Cliquer ici pour annuler l'opération

53 c) Sauvegarder Pour charger un fichier de configuration, il faut cliquer sur le bouton "Save Config" situé en bas de la liste des histogrammes. Une fenêtre de navigation de fichier va apparaître. Il faut ensuite taper le nom du fichier avec l'extension ".facqConf" dans le champ de texte "File Name" du navigateur de fichiers, puis de cliquer sur le bouton "Save" pour effectuer la sauvegarde. La liste des paramètres calculés, des conditions et des histogrammes sera alors automatiquement écrite dans le fichier de configuration. Si le bouton "Cancel" est cliqué, l'opération de sauvegarde de la configuration sera interrompue. 1 Cliquer ici 2 Taper ici le nom du fichier de sauvegarde 3 Cliquer ici pour sauvegarder la configuration 3 bis Cliquer ici pour annuler l'opération

54 d) Modifier un fichier de configuration Les fichiers de configuration peuvent être créés et édités avec un éditeur de fichier texte. Ce mode de travail est à réserver aux utilisateurs expérimentés car une erreur dans le fichier de configuration conduira la plupart du temps au blocage RHB. ATTENTION: Toute référence à un paramètre calculé ou à une condition doit être faite APRES la déclaration de ce paramètre calculé ou de cette condition. Si cette règle n'est pas respectée, RHB se bloquera. De même, il est impératif que les paramètres bruts référencés dans le fichier de configuration soient présents dans la liste des paramètres bruts de l'analyse en cours. (1) Syntaxe de base Pour chaque déclaration, la première ligne est constituée de trois champs de texte séparés par le caractère ";". Le premier champ de texte correspond au type du paramètre ou de l'histogramme. Le second champ de caractères correspond au nom de l'objet déclaré. La signification du troisième champ de caractères dépend du type de l'objet. Les lignes suivantes vont dépendre du type du paramètre ou de l'histogramme déclaré, mais les champs de texte seront toujours séparés par le caractère ";". Une ligne commençant par le caractère "#" est une ligne de commentaire n'étant pas prise en compte dans les déclarations. Nous allons maintenant détailler les syntaxes de déclaration pour chaque type d'objet. (2) Les paramètres calculés La première ligne doit avoir la syntaxe suivante: FParamCalc; nom du paramètre; déclaration du paramètre Si le paramètre calculé a des coefficients variables, leurs valeurs seront indiquées dans les prochaines lignes selon la syntaxe suivante: [indice];valeur Il faut une ligne de définition de valeur de coefficient par coefficient variable. Voici quelques exemples pour lesquels on suppose que les paramètres Param1, Param2 et Param3 sont des paramètres bruts: • Exemple 1: FParamCalc;ParCal1;(Param1*[0])+([1]*Param2) [0];1 [1];2.5 Ces trois lignes déclarent un paramètre calculé nommé ParCal1 dont l'expression est a.Param1+b.Param2 où a et b sont des coefficients variables ayant pour valeurs initiales 1 et 2,5 respectivement. • Exemple 2: FParamCalc;ParCal2;((Param1*[0])+([1]*Param3))+[2] [0];5 [1];0 [2];0

55 Ces quatre lignes déclarent un paramètre calculé nommé ParCal2 dont l'expression est a.Param1+b.Param3+c où a, b et sont des coefficients variables ayant pour valeurs initiales 5, 0 et 0 respectivement. (3) Les conditions La syntaxe de déclaration des conditions est presque identique à celle utilisée pour les paramètres calculés. La première ligne doit avoir la syntaxe suivante: FCondition; nom du paramètre; déclaration du paramètre Si la condition a des coefficients variables, leurs valeurs seront indiquées dans les prochaines lignes selon la syntaxe suivante: [indice];valeur Il faut une ligne de définition de valeur de coefficient par coefficient variable. Voici quelques exemples pour lesquels on suppose que les paramètres Param1, Param2 et Param3 sont des paramètres bruts: • Exemple 1: FCondition;CondParam1;(Param1>[0])&&(Param1<[1]) [0];48.5 [1];55 Ces trois lignes déclarent une condition nommée CondParam1 dont l'expression est (a < Param1) ET (Param1 < b) où a et b sont des coefficients variables ayant pour valeurs initiales 48.5 et 55 respectivement. • Exemple 2: FCondition;MixedCondition;CondParam1||CondGraph Cette ligne déclare une condition nommée MixedCondition dont l'expression est (CondParam1 OU CondGraph), CondParam1 et CondGraph étant deux conditions déjà déclarées. (4) Les coupures graphiques La syntaxe de déclaration des coupures graphiques est un peu plus complexe. La première ligne doit avoir la syntaxe suivante: FGCondition; nom du paramètre; nom de la coupure graphique La seconde ligne contient le nom des paramètres sur lesquels cette coupure graphique est définie: Nom du paramètre pour l'axe X; nom du paramètre pour l'axe Y

56 La troisième ligne contient le nombre de points de la coupure graphique. Les lignes suivantes contiennent l'index et les coordonnées des points de la coupure graphique séparés par le caractère ";". Voici un exemple de déclaration de coupure graphique: FGCondition;CondGraph;SuperCoupure Param2;Param1 11 0;51.2786;73.3398 1;71.7369;69.1773 2;39.7709;51.6353 3;79.835;50.1487 4;66.1961;25.7683 5;51.6105;43.4466 6;31.3646;34.8154 7;39.647;46.3237 8;25.3828;61.0288 9;45.6287;60.7092 10;51.2786;73.3398 Ces treize lignes définissent une condition nommée CondGraph utilisant la coupure graphique nommée SuperCoupure portant sur les paramètres Param2 pour l'axe X et Param1 pour l'axe Y. Cette coupure graphique contient 11 points. (5) Les histogrammes Les deux premières lignes de déclaration des histogrammes est commune à tous les types d'histogrammes. Voici leur syntaxe: Type;Nom de l'histogramme;Titre de l'histogramme Condition :Nom de la condition S'il n'y a pas de condition associée à l'histogramme, le nom de la condition est "none". Les lignes suivantes du type de l'histogramme. (a) Histogrammes 1D Le type de l'histogramme est FH1F. La troisième ligne défini quelle variable est associée à l'axe X, le nombre de canaux de l'histogramme et les bornes inférieures et supérieures. La syntaxe est la suivante: Nom du paramètre; Nombre de canaux; borne inf.; borne sup. Voici quelques exemples de déclaration d'histogrammes 1D: • Exemple 1: FH1F;H1;test FH1F Condition :none Param1;100;0;100

57 Ces trois lignes définissent un histogramme 1D nommé H1, dont le titre est "test FH1F". Le nom du paramètre associé à l'axe des abscisses est Param1. Cet axe comprend 100 canaux et ses bornes inférieure et supérieure sont 0 et 100 respectivement. Il n'y a pas de condition associée à cet histogramme. • Exemple 2: FH1F;H2;test FH1F sous condition Condition :CondGraph ParCal2;100;0;1000 Ces trois lignes définissent un histogramme 1D nommé H2, dont le titre est "test FH1F sous condition". Le nom du paramètre associé à l'axe des abscisses est ParCal2. Cet axe comprend 100 canaux et ses bornes inférieure et supérieure sont 0 et 1000 respectivement. Cet histogramme ne sera incrémenté que si la condition CondGraph est vraie. (b) Histogrammes 2D Le type de l'histogramme est FH2F. La troisième ligne défini quelle variable est associée à l'axe X, le nombre de canaux de l'histogramme et les bornes inférieures et supérieures. La quatrième ligne défini quelle variable est associée à l'axe Y, le nombre de canaux de l'histogramme et les bornes inférieures et supérieures. La syntaxe est la suivante: Nom du paramètre X; Nombre de canaux; borne inf.; borne sup. Nom du paramètre Y; Nombre de canaux; borne inf.; borne sup. Voici quelques exemples de déclaration d'histogrammes 2D: • Exemple 1: FH2F;H2D;test FH2F Condition :MixedCondition Param2;100;0;100 Param1;100;0;100 Ces quatre lignes définissent un histogramme 2D nommé H2D, dont le titre est "test FH2F". Le nom du paramètre associé à l'axe des abscisses est Param2. Cet axe comprend 100 canaux et ses bornes inférieure et supérieure sont 0 et 100 respectivement. Le nom du paramètre associé à l'axe des ordonnées est Param1. Cet axe comprend 100 canaux et ses bornes inférieure et supérieure sont 0 et 100 respectivement. Cet histogramme ne sera incrémenté que si la condition MixedCondition est vraie. • Exemple 2: FH2F;H3;Test 1 Condition :none ParCal1;400;0;400 ParCal2;400;0;1000 Ces quatre lignes définissent un histogramme 2D nommé H3, dont le titre est "Test 1". Le nom du paramètre associé à l'axe des abscisses est ParCal1. Cet axe comprend 400 canaux et ses bornes inférieure et supérieure sont 0 et 400 respectivement. Le nom du paramètre associé à l'axe des ordonnées est ParCal2. Cet axe comprend 400 canaux et ses bornes inférieure et

58 supérieure sont 0 et 1000 respectivement. Il n'y a pas de condition associée à cet histogramme. (c) Histogrammes Profile Le type de l'histogramme est FProfile. La troisième ligne défini quelle variable est associée à l'axe X, le nombre de canaux de l'histogramme et les bornes inférieures et supérieures. La quatrième ligne défini quelle variable est associée à l'axe Y. La syntaxe est la suivante: Nom du paramètre X; Nombre de canaux; borne inf.; borne sup. Nom du paramètre Y Voici un exemple de déclaration d'histogrammes Profile: FProfile;HP;test HP Condition :CondParam1 Param1;100;0;100 Param3 Ces quatre lignes définissent un histogramme Profile nommé HP, dont le titre est "test HP". Le nom du paramètre associé à l'axe des abscisses est Param1. Cet axe comprend 100 canaux et ses bornes inférieure et supérieure sont 0 et 100 respectivement. Le nom du paramètre associé à l'axe des ordonnées est Param3. Cet histogramme ne sera incrémenté que si la condition CondParam1 est vraie. (d) Histogrammes échelles Le type de l'histogramme est FHScale. Les lignes suivant les deux premières contiennent le nom des paramètres dont on veut réaliser le comptage. La fin de la liste est signalée en tapant "--> EndOfList <--" sur la dernière ligne. La syntaxe est la suivante: Nom d'un paramètre Nom d'un paramètre M --> EndOfList <-- Voici un exemple de déclaration d'histogrammes échelle: FHScale;hScale2;test echelle Condition :none ParCal1 ParCal2 ParCal3 ParCal4 --> EndOfList <-- Ces lignes définissent un histogramme échelle nommé hScale2 dont le titre est "test echelle". Les noms des paramètres associés sont ParCal1, ParCal2, Parcal3 et ParCal4. Il n'y a pas de condition associée à cet histogramme.

59 (e) Histogrammes de contrôle Le type de l'histogramme est FHCtrl2D. La troisième ligne indique si l'histogramme est vertical ou horizontal, ainsi que le nombre de canaux et les bornes inférieures et supérieures de l'axe des valeurs des paramètres. Les lignes suivantes contiennent le nom des paramètres dont on veut réaliser le comptage. La fin de la liste est signalée en tapant "--> EndOfList <--" sur la dernière ligne. La syntaxe est la suivante: Orientation; nombre de canaux; borne inf.; borne sup. Nom d'un paramètre Nom d'un paramètre M --> EndOfList <-- Voici quelques exemples de déclaration d'histogrammes de contrôle: • Exemple 1: FHCtrl2D;hCtrl;Test CTRL Condition :none Horizontal;2000;0;1000 Param1 ParCal1 ParCal2 ParCal3 ParCal4 Param2 Param3 --> EndOfList <-- Ces lignes définissent un histogramme de contrôle horizontal nommé hCtrl dont le titre est "Test CTRL". L'axe des valeurs des paramètres sera l'axe "X", contiendra 2000 canaux et ses bornes inférieures et supérieures sont 0 et 1000 respectivement. Les noms des paramètres associés sont Param1, ParCal1, ParCal2, Parcal3, ParCal4, Param2 et Param3. Il n'y a pas de condition associée à cet histogramme. • Exemple 1: FHCtrl2D;hCtrl2;Test CTRL vertical Condition :none Vertical;200;0;100 Param1 Param2 Param3 --> EndOfList <-- Ces lignes définissent un histogramme de contrôle vertical nommé hCtrl2 dont le titre est "Test CTRL Vertical". L'axe des valeurs des paramètres sera l'axe "Y", contiendra 200 canaux et ses bornes inférieures et supérieures sont 0 et 100 respectivement. Les noms des paramètres associés sont Param1, Param2 et Param3. Il n'y a pas de condition associée à cet histogramme.

60 (f) Histogrammes temporels Les types des histogrammes temporels sont FTimeHist pour les histogrammes temporels 2D et FTimeProfile pour les histogrammes temporels Profile. La troisième ligne définie les caractéristiques de l'axe du temps, à savoir le nombre de canaux et la largeur en secondes de chaque canal. La syntaxe est la suivante: nombre de canaux; largeur d'un canal en secondes La ligne suivante indique quel paramètre est associé à l'axe des ordonnées (axe "Y"). Dans le cas d'un histogramme temporel 2D, il faut indiquer le nom du paramètre et les caractéristiques de l'axe des ordonnées (nombre de canaux, bornes inférieures et supérieures). La syntaxe est la suivante: Nom du paramètre Y; Nombre de canaux; borne inf.; borne sup. Pour un histogramme temporel Profile, il suffit juste d'indiquer le nom du paramètre associé à l'axe des ordonnées. Voici quelques exemples de déclaration d'histogrammes temporels. • Exemple 1: FTimeHist;timeHist;ParCal2 vs Time Condition :none 25;5 ParCal2;400;0;800 Ces lignes définissent un histogramme temporel 2D nommé timeHist dont le titre est "ParCal2 vs Time". L'axe temporel comporte 25 canaux d'une largeur de 5 secondes chacun. La fenêtre de temps couverte par l'histogramme est donc de 125 secondes. Le paramètre associé à l'axe des ordonnées a pour nom ParCal2. Cet axe a 400 canaux et ses bornes inférieures et supérieures sont 0 et 800 respectivement. Il n'y a pas de condition associée à cet histogramme. • Exemple 2: FTimeProfile;timeProfile; vs Time Condition :none 50;2.5 ParCal2 Ces lignes définissent un histogramme temporel Profile nommé timeProfilet dont le titre est " vs Time". L'axe temporel comporte 50 canaux d'une largeur de 2,5 secondes chacun. La fenêtre de temps couverte par l'histogramme est donc de 125 secondes. Le paramètre associé à l'axe des ordonnées a pour nom ParCal2. Il n'y a pas de condition associée à cet histogramme.

61 C. Le FEventProcessor défini par l'utilisateur Nous avons vu dans les sections précédentes que l'on peut assez simplement, sans écrire une ligne de code, déclarer et remplir des histogrammes, RHB se chargeant de la tâche de lecture des évènements et de remplissage des histogrammes déclarés. Si cette procédure couvre la très grande majorité des besoins, elle ne couvre pas en toute rigueur tous les traitements possibles. Par exemple, il n'est pas possible de définir des paramètres dont la valeur résulte de tests complexes ou de processus itératifs. Comme il n'est pas possible aux concepteurs de RHB d'envisager toutes les possibilités, des points d'entrée sont fournis aux utilisateurs pour qu'ils puissent implanter les fonctionnalités absentes de RHB. 1. Principes de base Du fait de l'utilisation du C++, l'utilisateur n'aura qu'à écrire une classe fille de la classe FEventProcessor de RHB. Seules certaines méthodes de cette classe devront être réécrites. Ces méthodes sont celles qui déclarent les paramètres et les histogrammes, celle qui traite les événements et les méthodes appelées en début en en fin d'analyse. La séquence des appels à ces méthodes est détaillée dans le schéma ci-dessous.

62 Sur ce schéma, les tâches avec un fond jaune correspondent aux points d'entrée accessibles pour l'utilisateur. Voici la correspondance entre les tâches et les noms des méthodes de la classe FEventProcessor. Tâche Méthode du FEventProcessor Déclaration des paramètres calculés et des conditions InitParams() Déclaration des histogrammes InitHistos() Evaluation des paramètres SetParamValues() Fin de l'analyse? IsRunning() L'utilisateur n'aura donc qu'à spécifier les opérations réalisées par chacune de ces méthodes. Dans l'état actuel de RHB, l'utilisateur n'a pas accès à la méthode qui réalise l'incrémentation des histogrammes. 2. Génération du fichier de base Le patron de la classe fille doit être généré dans une session ROOT en utilisant la méthode statique FEventProcessorThread::Make(Char_t *nomClasse) dans laquelle l'argument "nomClasse" contient le nom de la classe fille du FEventProcessor. Le fichier de déclaration (extension .h) et d'implémentation (extension .C) sont alors automatiquement générés. Voici un exemple dans lequel on génère les fichiers de la classe "MonEventProcessor" fille de FEventProcessor: root[0] FEventProcessorThread::Make("MonEventProcessor") Info : Files MonEventProcessor.h and MonEventProcessor.C have been generated. 3. Déclaration des paramètres "utilisateurs" Pour déclarer et intégrer un paramètre utilisateur à RHB, il faut dans un premier temps appeler le constructeur du paramètre, puis d'ajouter le pointeur de l'objet créé à la liste des paramètres. Le constructeur des paramètres utilisateurs est le suivant: FParamUser(Char_t *nomParam) où nomParam est le nom du paramètre. Le pointeur de ce paramètre est ensuite ajouté à RHB en utilisant la méthode: FEventProcessor::AddParam(FParam *p) où p est un pointeur sur un objet de classe FParam ou l'une de ses classes filles. Les paramètres étant repérés par leur nom dans RHB, il faut attribuer un nom au paramètre en utilisant la méthode: FParam::SetName(Char_t *nomParam) Si le paramètre utilisateur est un tableau de valeurs, il faut indiquer la dimension maximum attendue en utilisant la méthode:

63 FParamUser::SetNbValuesMax(Int_t dim) Pour indiquer à RHB si le calcul du paramètre utilisateur est valide ou invalide, on appellera l'une de ces deux méthodes: Calcul valide: FParam::SetOn() Calcul invalide: FParam::SetOff() 4. Déclaration des histogrammes Les histogrammes doivent être déclarés dans la méthode InitHistos(void) du FEventProcessor défini par l'utilisateur. Le constructeur de l'objet doit d'abord être appelé. Voici la liste des constructeurs: Type de l'histogramme Constructeur Histogramme 1D FH1F(Char_t *nom, Char_t *titre, Int_t nbCanaux, Double_t Xmin, Doublequotesdbs_dbs6.pdfusesText_12

[PDF] excel icon

[PDF] excel intermédiaire 2010

[PDF] excel logreg

[PDF] excel loi normale

[PDF] excel loi normale standard inverse

[PDF] excel mise en forme conditionnelle centile

[PDF] excel npm

[PDF] excel pareto automatique

[PDF] excel plusieurs courbes meme graphique

[PDF] excel pmt

[PDF] excel pour syndic bénévole copropriété

[PDF] excel prévision des ventes

[PDF] excel promoteur immobilier

[PDF] excel questionnaire choix multiple

[PDF] excel recherche cellule contenant texte