Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
#ifndef CosmicMuonParameters_h
#define CosmicMuonParameters_h
//
// Parameters for CosmicMuonGenerator by droll (05/DEC/2005)
//
//
// added plug and clay(moraine) specific constants, sonne (15/Jan/2009)
//
#include "TMath.h"

// flags
const bool Debug = false;        // debugging printout
const bool EventDisplay = true;  // display single events (if ROOT_INTERACTIVE is defined as true)

// algorithmic constants
const double MinStepSize = 10.;  // minimal propagation step size [mm] must be small compared to target size
// mathematical constants
const double Pi = acos(-1.);       // [rad]
const double TwoPi = 2.0 * Pi;     // [rad]
const double Deg2Rad = Pi / 180.;  // [deg] -> [rad]
const double Rad2Deg = 180. / Pi;  // [rad] -> [deg]
// physical constants
const double SpeedOfLight = 299.792458;  // [mm/ns]
const double MuonMass = 0.105658357;     // [GeV/c^2]
//const double ChargeFrac = 0.545454545; // n(mu+)/n(mu-) ~ 1.2 defined in CMSCGEN
// geometry
const double SurfaceOfEarth = 88874.;  // Y-distance to surface of earth [mm]
const double Z_PX56 = -14000.;         // [mm] Z position of PX56 centre [mm]
/*
// densities of materials
const double RhoAir  = 0.001214; // [g cm^-3]
const double RhoWall = 2.5; // [g cm^-3]
const double RhoRock = 2.5; // [g cm^-3]
const double RhoClay = 2.3; // [g cm^-3]
const double RhoPlug = 2.5; // [g cm^-3]
*/
// width of clay layer between surface and rock
const double DefaultClayWidth = 50000.;  // [mm]

//plug constants
const double PlugWidth = 2250.;        // [mm]
const double PlugXlength = 20600.;     // [mm]
const double PlugZlength = 16000.;     // [mm]
const double PlugNoseXlength = 6400.;  // [mm]
const double PlugNoseZlength = 1800.;  // [mm]
const double PlugOnShaftVx = 0.;       // [mm]
const double PlugOnShaftVz = Z_PX56;   // [mm]

// cylinder around CMS (with R, +-Z)
// WARNING: These values will be set to tracker-only setup if "TrackerOnly=true" in .cfg-file.
// This means R=1200 and Z=2800, no material or B-field outside is considered
const double RadiusCMS = 8000.;      // [mm]
const double Z_DistCMS = 15000.;     // [mm]
const double RadiusTracker = 1200.;  // [mm]
const double Z_DistTracker = 2800.;  // [mm]
// cylinder actually used in the code
//const double RadiusTarget = RadiusCMS; // [mm]  //now controlled by cfg-file!!!
//const double Z_DistTarget = Z_DistCMS; // [mm]  //now controlled by cfg-file!!!

//define different materials
enum { Unknown = 0, Plug, Wall, Air, Clay, Rock };

//Parameters for upward muons from neutrinos
const double N_A = 6.022e23;       //mol^-1
const double alpha = 2.;           //MeV/(g/cm^2)
const double beta_const = 3.9e-6;  //(g/cm^2)^-1
const double epsilon = alpha / beta_const;
const double Rearth = 6370.e6;  //mm

//Multi Muon relevant parameters
const double NorthCMSzDeltaPhi = 3. / 8. * Pi;  //rad (Pi/2 if CMS -x = North)
const int max_Trials = 200000;

#endif