Back to home page

Project CMSSW displayed by LXR

 
 

    


Warning, /TopQuarkAnalysis/TopJetCombination/data/TtSemiLepJetCombMVATrainer.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
0002 
0003 <!-- in order to be able to use this file correctly
0004      you have to enable XSLT parsing in the MVATrainer!
0005      this is done by using the option "-x" of the mvaTreeTrainer -->
0006 
0007 <MVATrainer xmlns:xi="http://www.w3.org/2001/XInclude">
0008 
0009         <general>
0010                 <option name="id">TtSemiLepJetCombMVATrainer</option>
0011                 <option name="trainfiles">train_%1$s%2$s.%3$s</option>
0012         </general>
0013 
0014         <!-- include the main input section containing all variables from a file
0015              which is shared with the TtSemiLepJetCombMVATrainTreeSaver.xml -->
0016 
0017         <xi:include href="TtSemiLepJetCombMVATrainer_vars.xml"/>
0018 
0019         <!-- the following processor defines that the subsequent 5 processors
0020              are called for each jetComb hypothesis separately in every event -->
0021 
0022         <processor id="loop" name="ProcForeach">
0023                 <input>
0024                         <var source="input" name="target"/>
0025                         <var source="input" name="deltaRHadTopLepTop"/>
0026                         <var source="input" name="deltaRHadQHadQBar"/>
0027                         <var source="input" name="deltaRLepBLepton"/>
0028                         <var source="input" name="bTagHadBTrkCntHighEff"/>
0029                         <var source="input" name="bTagLepBTrkCntHighEff"/>
0030                         <var source="input" name="bTagSumHadQHadQBarTrkCntHighEff"/>
0031                 </input>
0032                 <config>
0033                         <procs next="5"/>
0034                 </config>
0035                 <output>
0036                         <var name="index"/>
0037                         <var name="target"/>
0038                         <var name="deltaRHadTopLepTop"/>
0039                         <var name="deltaRHadQHadQBar"/>
0040                         <var name="deltaRLepBLepton"/>
0041                         <var name="bTagHadBTrkCntHighEff"/>
0042                         <var name="bTagLepBTrkCntHighEff"/>
0043                         <var name="bTagSumHadQHadQBarTrkCntHighEff"/>
0044                 </output>
0045         </processor>
0046 
0047         <!-- create target variable from input variable "target":
0048              0 (bakground) : if "target" <= 0.5;
0049              1 (signal)    : else -->
0050 
0051         <processor id="target_hyp" name="ProcCategory">
0052                 <input>
0053                         <var source="loop" name="target"/>
0054                 </input>
0055                 <config>
0056                         <group><box><range max="0.5"/></box></group>
0057                         <group><box><range/></box></group>
0058                 </config>
0059                 <output>
0060                         <var name="target"/>
0061                 </output>
0062         </processor>
0063 
0064         <!-- normalize input variables -->
0065 
0066         <processor id="norm" name="ProcNormalize">
0067                 <input>
0068                         <var source="loop" name="deltaRHadTopLepTop"/>
0069                         <var source="loop" name="deltaRHadQHadQBar"/>
0070                         <var source="loop" name="deltaRLepBLepton"/>
0071                         <var source="loop" name="bTagHadBTrkCntHighEff"/>
0072                         <var source="loop" name="bTagLepBTrkCntHighEff"/>
0073                         <var source="loop" name="bTagSumHadQHadQBarTrkCntHighEff"/>
0074                         <var source="target_hyp" name="target" target="true"/>
0075                 </input>
0076                 <config>
0077                         <pdf/>
0078                         <pdf/>
0079                         <pdf/>
0080                         <pdf/>
0081                         <pdf/>
0082                         <pdf/>
0083                 </config>
0084                 <output>
0085                         <var name="deltaRHadTopLepTop"/>
0086                         <var name="deltaRHadQHadQBar"/>
0087                         <var name="deltaRLepBLepton"/>
0088                         <var name="bTagHadBTrkCntHighEff"/>
0089                         <var name="bTagLepBTrkCntHighEff"/>
0090                         <var name="bTagSumHadQHadQBarTrkCntHighEff"/>
0091                 </output>
0092         </processor>
0093 
0094        <!-- decorrelate input variables using matrix ration -->
0095 
0096         <processor id="rot" name="ProcMatrix">
0097                 <input>
0098                         <var source="target_hyp" name="target" target="true"/>
0099                         <var source="norm" name="deltaRHadTopLepTop"/>
0100                         <var source="norm" name="deltaRHadQHadQBar"/>
0101                         <var source="norm" name="deltaRLepBLepton"/>
0102                         <var source="norm" name="bTagHadBTrkCntHighEff"/>
0103                         <var source="norm" name="bTagLepBTrkCntHighEff"/>
0104                         <var source="norm" name="bTagSumHadQHadQBarTrkCntHighEff"/>
0105                 </input>
0106                 <config>
0107                         <fill signal="true" background="true"/>
0108                 </config>
0109                 <output>
0110                         <var name="rot1"/>
0111                         <var name="rot2"/>
0112                         <var name="rot3"/>
0113                         <var name="rot4"/>
0114                         <var name="rot5"/>
0115                         <var name="rot6"/>
0116                 </output>
0117         </processor>
0118 
0119         <!-- combine variables into likelihood -->
0120 
0121         <processor id="like" name="ProcLikelihood">
0122                 <input>
0123                         <var source="target_hyp" name="target" target="true"/>
0124                         <var source="norm" name="deltaRHadTopLepTop"/>
0125                         <var source="norm" name="deltaRHadQHadQBar"/>
0126                         <var source="norm" name="deltaRLepBLepton"/>
0127                         <var source="norm" name="bTagHadBTrkCntHighEff"/>
0128                         <var source="norm" name="bTagLepBTrkCntHighEff"/>
0129                         <var source="norm" name="bTagSumHadQHadQBarTrkCntHighEff"/>
0130                 </input>
0131                 <config>
0132                         <sigbkg smooth="3"/>
0133                         <sigbkg smooth="3"/>
0134                         <sigbkg smooth="3"/>
0135                         <sigbkg smooth="3"/>
0136                         <sigbkg smooth="3"/>
0137                         <sigbkg smooth="3"/>
0138                 </config>
0139                 <output>
0140                         <var name="discr"/>
0141                 </output>
0142         </processor>
0143 
0144         <!-- this is just a workaround to get monitoring histograms for the likelihood for each hypothesis-->
0145 
0146         <processor id="norm_monitor_hyp" name="ProcNormalize">
0147                 <input>
0148                         <var source="target_hyp" name="target" target="true"/>
0149                         <var source="like" name="discr"/>
0150                 </input>
0151                 <config>
0152                         <pdf/>
0153                 </config>
0154                 <output>
0155                         <var name="var_dummy1"/>
0156                 </output>
0157         </processor>
0158 
0159         <!-- end of ProcForEach loop -->
0160 
0161         <!-- sort hypotheses w.r.t. the discriminator (second input variable, therefore index="1")
0162              in descending order, i.e. from the highest discriminator to the lowest -->
0163 
0164         <processor id="sort" name="ProcSort">
0165                 <input>
0166                         <var source="target_hyp" name="target"/>
0167                         <var source="like" name="discr"/>
0168                 </input>
0169                 <config>
0170                         <key index="1" descending="true"/>
0171                 </config>
0172                 <output>
0173                         <var name="index"/>
0174                         <var name="target"/>
0175                         <var name="discr"/>
0176                 </output>
0177         </processor>
0178 
0179         <!-- separate best hypothesis from the rest -->
0180 
0181         <processor id="split_best" name="ProcSplitter">
0182                 <input>
0183                         <var source="sort" name="target"/>
0184                         <var source="sort" name="discr"/>
0185                 </input>
0186                 <config>
0187                         <select first="1"/>
0188                 </config>
0189                 <output>
0190                         <var name="target"/>
0191                         <var name="targetRest"/>
0192                         <var name="discr"/>        <!-- this variable is the final mva output for each event -->
0193                         <var name="discrRest"/>
0194                 </output>
0195         </processor>
0196 
0197         <!-- create target variable for the event (only for calculating purities and efficiencies):
0198              0 (background) : best hypothesis was background;
0199              1 (signal)     : best hypothesis was signal -->
0200 
0201         <processor id="target_evt" name="ProcCategory">
0202                 <input>
0203                         <var source="split_best" name="target"/>
0204                 </input>
0205                 <config>
0206                         <group><box><range max="0.5"/></box></group>
0207                         <group><box><range/></box></group>
0208                 </config>
0209                 <output>
0210                         <var name="target"/>
0211                 </output>
0212         </processor>
0213 
0214         <!-- this is just a workaround to get monitoring histograms from ProcSplitter -->
0215 
0216         <processor id="norm_monitor_evt" name="ProcNormalize">
0217                 <input>
0218                         <var source="split_best" name="discr"/>
0219                         <var source="split_best" name="discrRest"/>
0220                         <var source="target_evt" name="target" target="true"/>
0221                 </input>
0222                 <config>
0223                         <pdf/>
0224                         <pdf/>
0225                 </config>
0226                 <output>
0227                         <var name="var_dummy1"/>
0228                         <var name="var_dummy2"/>
0229                 </output>
0230         </processor>
0231 
0232         <!-- final output is the discriminator of the best hypothesis -->
0233 
0234         <output>
0235                 <var source="split_best" name="discr"/>
0236         </output>
0237 
0238 </MVATrainer>