#include "DStar/DStarList.h"
in the processor. The command
prod sel DStarProdis also required in the user's .tcl file. The user's specific D* cuts and either setup_analysis or runOnNewPass2.tcl are also recommended in the .tcl file.
FAItemiDpListItem; extract(iFrame.record(Stream::kEvent), iDpListItem, "D*+_pi+"); for (DStarList::const_iterator iDpItr = (*iDpListItem).particle_begin(); iDpItr != (*iDpListItem).particle_end(); ++iDpItr) { const DStar& iDStar = (*iDpItr).particle(); const DTag& iD = iDStar.D(); const NavTrack& iPion = iDStar.pion(); }
| Extract Parameter | Included D* decay modes |
|---|---|
| D*0_SC | D*0 decaying to a self-conjugate D0 (e.g. D0 -> K+K-) and either a γ or a π0 |
| D*0_NS | D*0 decaying to a not self-conjugate D0 (e.g. D0 -> π+K-) and either a γ or a π0 |
| D*0_SC_pi0 | As D*0_SC, but only including π0 modes |
| D*0_SC_photon | As D*0_SC, but only including γ modes |
| D*0_NS_pi0 | As D*0_NS, but only including π0 modes |
| D*0_NS_photon | As D*0_NS, but only including γ modes |
| D*+ | D*+ decaying to either D0 + π+ or D+ + π0 (but not to D+ + γ) (Currently disabled) |
| D*+_pi0 | As D*+, but only including the D+ + π0 modes |
| D*+_pi+ | As D*+, but only including the D0 + π+ modes |
| D*+_photon | D*+ decaying to D+ + γ |
| Ds* | Ds* decaying to Ds + γ |
| Ds*_pi0 | Ds* decaying to Ds + π0 |
In all of the above, charge conjugate modes are included as well.
It is worth noting that there is no single extract call for both self-conjugate and not self-conjugate D*0. This is to avoid the adding of self-conjugate to non self-conjugate lists, which DChain doesn't like very much. If you are interested in simply looping over both types of D*0 without combining the lists, there is a simple solution.
The D*+ and Ds* parameters were chosen to exclude modes with a small (less than 10%) branching ratio.
| Function call | Purpose |
|---|---|
| fromPhoton() | true if D* decay was to a D + γ, false otherwise |
| fromPi0() | true if D* decay was to a D + π0, false otherwise |
| fromPion() | true if D* decay was to a D + π+, false otherwise |
| photon() | Returns the daughter photon (const NavShower&), if it exists |
| pi0() | Returns the daughter π0 (const NavPi0ToGG&), if it exists |
| pion() | Returns the daughter π+ (const NavTrack&), if it exists |
| D() | Returns the daughter D (const DTag&) |
| beamEnergy() | Returns the beam energy, in GeV (double) |
| beamConstrainedMass() | Returns the beam constrained mass, in GeV: √(Ebeam2 - pD*2) (double) |
| deltaE() | Returns ED* - Ebeam in GeV (double) |
| deltaM() | Returns MD* - MD in GeV (double) |
| otherSideTracks(trackTable, otherTracks) | Takes tracks from trackTable (FATable |
| otherSideShowers(showerTable, otherShowers) | Takes showers from showerTable (FATable |
Cuts made on the D* daughter particles only affect the non-D side of the decay (e.g. setting the D* E9oE25OK to be true will not necessarily make the showers from the π0 in D0 -> K π π0 E9/E25 OK).
All told, there are 31 different tcl parameters to the DStar Producer. They can be accessed in the standard way:
param DStarProd DMassCut 0.100 param DStarProd AllowedDModes 0 200The different parameters, with explanations are given below:
General Showers
| Parameter | Default Value | Function |
|---|---|---|
| RejectTrackMatch | Reject any showers that have a matched track | |
| RejectHotShowers | Reject any showers that are considered hot | |
| E9oE25OK | Reject any showers that are not E9/E25 O.K. | |
| UseSplitoff | Reject any showers that are not splitoff approved | |
| GoodEndcapBarrel | Require certain endcap/barrel positions. This is an integer corresponding to levels of strictness. 0 = showers can be anywhere (no endcap/barrel restriction). 1 = showers must be in either the endcap or the barrel. 2 = at least one shower must be in the barrel (daughter π0s only; same as 1 for daughter γs). 3 = showers must be in the barrel. |
Daughter Photon
| Parameter | Default Value | Function |
|---|---|---|
| PhotonMinShowerE | Minimum energy (GeV) for the D* daughter photon | |
| PhotonMaxShowerE | Maximum energy (GeV) for the D* daughter photon |
Daughter π0
| Parameter | Default Value | Function |
|---|---|---|
| Pi0BarrelMinShowerE | Minimum energy (GeV) for a π0 duaghter γ in the barrel. | |
| Pi0EndcapMinShowerE | Minimum energy (GeV) for a π0 duaghter γ in the endcap. | |
| Pi0PullMassCut | Maximum (absolute) value for the D* daughter π0's pull mass | |
| Pi0NominalMassCut | Symmetric cut on the D* daughter π0's mass (GeV) |
Daughter π+
| Parameter | Default Value | Function |
|---|---|---|
| PionPIDOn | Use standard PID function (with following input parameters) | |
| PionDedxSigmaMax | Maximum π+ σdE/dx for when the RICH is not used (only matters if PionPIDOn is true) | |
| PionChi2Max | Maximum π+ reduced Χ2 | |
| PionHitFracMin | Minimum ratio of actual hits to expected hits for the π+ track | |
| PionHitFracMax | Maximum ratio of actual hits to expected hits for the π+ track | |
| PionCosThetaMax | Maximum initial |cos(θ)| relative to the beam for the D* daughter π+ track | |
| PionZ0Window | Maximum π+ initial distance from the origin in the z-direction | |
| PionD0Window | Maximum π+ initial distance from the origin in the d-direction (r-direction) | |
| PionRichMomMin | Minimum energy (GeV) before using the RICH information (only matters if PionPIDOn is true) | |
| PionRichMinPhotons | Minimum number of photons required in the RICH, if passes minimum RICH momentum (only matters if PionPIDOn is true) |
D* Properties
| Parameter | Default Value | Function |
|---|---|---|
| DStarDeltaECutHi | Maximum value of ΔE for the D* (GeV) | |
| DStarDeltaECutLow | Minimum value of ΔE for the D* (GeV) | |
| DStarMbcCutHi | Maximum beam constrained mass (GeV) for the D* | |
| DStarMbcCutLow | Minimum beam constrained mass (GeV) for the D* | |
| DStarMassCut | Maximum difference (GeV) between the reconstructed D* mass and the "true" D* mass. |
D*/D Properties
| Parameter | Default Value | Function |
|---|---|---|
| DStarDeltaMCutSym | Symmetric cut on the D*/D mass difference (GeV) about the "true" value | |
| DStarDeltaMCutHi | The maximum D*/D mass difference (GeV) | |
| DStarDeltaMCutLow | The minimum D*/D mass difference (GeV) | |
| DMassCut | Maximum difference (GeV) between the reconstructed daughter D mass and the "true" D mass. | |
| AllowedDModes | Vector of DTag modes that may be used for the daughter D (-1 in the first spot = use all possible DTag modes) |
A set of cuts for each D* mode can be found on the D* tcl page. These should serve as a rough starting point for an analysis.
The original DStar/Instantiate/T_DefaultDStarCombiner.cc should be replaced with this T_DefaultDStarCombiner.cc. This is due to some name changes in the DChain/Element and DChain/List file systems. Also, the original DStarProd/Class/DStarListProxy.cc should be replaced with this DStarListProxy.cc since older releases don't have Ds modes in DTag (so Ds* will obviously not be available in older releases).