[190] | 1 | ** travail en cours**
|
---|
| 2 | -> faire un bfield plus rapide
|
---|
| 3 | -> Track : x,y,z,eta,phi : vertex
|
---|
| 4 | : x,y,z,eta,phi : calo
|
---|
| 5 | -> les constructeurs de BlockClasses sont trÚs mal écrits!
|
---|
| 6 | -> [11:05:29] LoÃŒst Un Ange says:
|
---|
| 7 | Warning in <TVector3::PseudoRapidity>: transvers momentum = 0! return +/- 10e10
|
---|
| 8 | ca lui arrive 6 fois, je pense que c'est pas grave mais je ne sais pas si pour vous il faut y faire qq choe
|
---|
| 9 | -> TrackPropagation::TrackPropagation(const string DetDatacard) {
|
---|
| 10 | if(DetDatacard="") { }; ///// TODO
|
---|
| 11 | -> faire un "default" dans SmearUtil, qui sera appelé par le constructeur par défaut, si pas de data card donnée. Changer le ReadDatacard en constructeur
|
---|
| 12 |
|
---|
| 13 |
|
---|
[2] | 14 | To compile :
|
---|
| 15 | *** ./genMakeFile.tcl > Makefile
|
---|
| 16 |
|
---|
| 17 | * check all resolution number and put some reference on them
|
---|
| 18 | * in smearing functions, should not be some upper value on the eta ? e.g. : if eta < 3 then it is the central calo, else it is the forward calo => put eta<5?
|
---|
| 19 |
|
---|
[168] | 20 | delires :
|
---|
[2] | 21 | - tenir compte des longueurs de radiation ?
|
---|
| 22 | - mettre une carte des efficacités en eta/phi ?
|
---|
| 23 | - quid de la construction du détecteur comme un assemblage de petites classes (comme un lego ou comme le beamline d'Hector)
|
---|
| 24 |
|
---|
[7] | 25 | Pour les legos:
|
---|
| 26 |
|
---|
| 27 | chaque sous détecteur
|
---|
| 28 | - quel type
|
---|
| 29 | - couverture en eta
|
---|
| 30 | - résolution
|
---|
| 31 | -> ok pour calos et trackers
|
---|
| 32 | -> quid des RP ?
|
---|
| 33 |
|
---|
| 34 |
|
---|
| 35 | CASTOR arXiv:0706.2641
|
---|
| 36 | p0 = 1059
|
---|
| 37 |
|
---|
| 38 | ZDC = linearity < 2%
|
---|
| 39 | \sigma/E = 0.7/\sqrt(E) \oplus 0.08 <- positrons
|
---|
| 40 | \sigma/E = 1.38/\sqrt(E) + 0.13 <- pions
|
---|
| 41 |
|
---|
| 42 | stdhep.ps -> page9 = HEPCHG(ID) : get charge for particle ID
|
---|
| 43 |
|
---|
[20] | 44 | ne pas oublier de vérifier que la fonction SmearHadron doit avoir un sqrt à la fin
|
---|
[28] | 45 |
|
---|
| 46 | si on a une liste de fichier input avec différents types de fichiers (root et hep par exemple), ça va crasher !
|
---|
[36] | 47 |
|
---|
| 48 | attention à CalTower.hh qui est hyper spécifiqueà CMS, aprÚs les changements. comment introduire ça dans la carte?
|
---|
[71] | 49 |
|
---|
| 50 |
|
---|
[168] | 51 | * attention : Trigger::
|
---|
| 52 | * void TriggerBit::PrintTrigCondition(string LogName,int i)
|
---|
| 53 | --> il y a a déjà un i défini ailleurs dans la fonction
|
---|
| 54 | * Dans la lecture de la carte, on ne vérifie pas qu'il y a NTOWER+1 valeurs pour les TOWER_ETA_EDGE et NTOWER pour TOWER_DPHI
|
---|
[71] | 55 |
|
---|
[168] | 56 | * dans RESOLution
|
---|
| 57 | TRACK_eff = 100; ???
|
---|
| 58 | ligne 60 de SmearUtil.cc
|
---|
[71] | 59 |
|
---|
[190] | 60 |
|
---|
| 61 | code pile-up FAMOS
|
---|
| 62 | // How many pile-up events?
|
---|
| 63 | 174 int PUevts = (int) random->poissonShoot(averageNumber_);
|
---|
| 64 | 175
|
---|
| 65 | 176 // Get N events from random files
|
---|
| 66 | 177 for ( int ievt=0; ievt<PUevts; ++ievt ) {
|
---|
| 67 | 178
|
---|
| 68 | 179 // Draw a file in a ramdom manner
|
---|
| 69 | 180 unsigned file = (unsigned) (theNumberOfFiles * random->flatShoot());
|
---|
| 70 | 181 /*
|
---|
| 71 | 182 if ( debug )
|
---|
| 72 | 183 std::cout << "The file chosen for event " << ievt
|
---|
| 73 | 184 << " is the file number " << file << std::endl;
|
---|
| 74 | 185 */
|
---|
| 75 | 186
|
---|
| 76 | 187 // Smear the primary vertex and express it in mm (stupid GenEvent convention...)
|
---|
| 77 | 188 theVertexGenerator->generate();
|
---|
| 78 | 189 HepMC::FourVector smearedVertex =
|
---|
| 79 | 190 HepMC::FourVector(theVertexGenerator->X()*10.,
|
---|
| 80 | 191 theVertexGenerator->Y()*10.,
|
---|
| 81 | 192 theVertexGenerator->Z()*10.,
|
---|
| 82 | 193 0.);
|
---|
| 83 | 194 HepMC::GenVertex* aVertex = new HepMC::GenVertex(smearedVertex);
|
---|
| 84 | 195 evt->add_vertex(aVertex);
|
---|
| 85 | 196
|
---|
| 86 | 197 // Some rotation around the z axis, for more randomness
|
---|
| 87 | 198 double theAngle = random->flatShoot() * 2. * 3.14159265358979323;
|
---|
| 88 | 199 double cAngle = std::cos(theAngle);
|
---|
| 89 | 200 double sAngle = std::sin(theAngle);
|
---|
| 90 | 201
|
---|
[197] | 91 |
|
---|
| 92 |
|
---|
| 93 | In src/BField
|
---|
| 94 | -> la pseudorapidité est calculée à la main via
|
---|
| 95 | Eta_t = log( (p+Pz_t)/(p-Pz_t) )/2.;
|
---|
| 96 | et on en déduit Theta_t
|
---|
| 97 | if(p>0) Theta_t = acos(Pz_t/p); else Theta_t=0;
|
---|
| 98 |
|
---|
| 99 |
|
---|
| 100 |
|
---|
| 101 |
|
---|
| 102 | Todo:
|
---|
| 103 | - dans ParticleUtil
|
---|
| 104 | eta,phi et eta_calo,phi_calo
|
---|
| 105 |
|
---|